rimu 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rimu/orders.rb +17 -15
- data/lib/rimu/servers.rb +112 -108
- data/lib/rimu/version.rb +6 -0
- data/lib/rimu.rb +144 -142
- data/rimu.gemspec +4 -1
- metadata +27 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d83c7258f16b129d5d5c0b40558a1b204ea69f3
|
4
|
+
data.tar.gz: 8a52d90147459954396a2af7a2e4d78900036420
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5959c9a9c13b598c6801217f400eb291ae5a908ffa4e37116fc246d82df415034f3993defab16a494ecff3477bf1579c672508f533ac38a16af763e33fa97353
|
7
|
+
data.tar.gz: 10c18c690337109a0c637dbaa703aa6ca60b53a4dac7d05b260acdac6178da3dc8fd6bb45b998bbc7eb791f148a16654cca7d869e8917b20ace3df41d878ec7a
|
data/lib/rimu/orders.rb
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
require 'cgi'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
3
|
+
module Rimu
|
4
|
+
class RimuAPI::Orders < Rimu::RimuAPI
|
5
|
+
def orders(params={})
|
6
|
+
raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
|
7
|
+
default_params = {
|
8
|
+
:include_inactive => 'N',
|
9
|
+
:server_type => 'VPS',
|
10
|
+
}
|
11
|
+
filters = prep_data(default_params, params)
|
12
|
+
path = "/r/orders;" + filters.collect {|k,v| "#{k}=#{CGI::escape(v.to_s)}"}.join(';')
|
13
|
+
send_request(path, "about_orders")
|
14
|
+
end
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
def order(oid)
|
17
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
18
|
+
send_request("/r/orders/order-#{oid}-dn", "about_order")
|
19
|
+
end
|
20
|
+
end
|
19
21
|
end
|
data/lib/rimu/servers.rb
CHANGED
@@ -1,122 +1,126 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
1
|
+
module Rimu
|
2
|
+
class RimuAPI::Servers < Rimu::RimuAPI
|
3
|
+
def default_vps_params
|
4
|
+
@default_vps_params = {
|
5
|
+
:billing_oid => nil,
|
6
|
+
:dc_location => nil,
|
7
|
+
:file_injection_data => nil,
|
8
|
+
:host_server_oid => nil,
|
9
|
+
:instantiation_options => {
|
10
|
+
:domain_name => nil,
|
11
|
+
:password => nil,
|
12
|
+
:distro => nil,
|
13
|
+
:cloud_config_data => nil,
|
14
|
+
:control_panel => nil,
|
15
|
+
},
|
16
|
+
:instantiation_via_clone_options => {
|
17
|
+
:domain_name => nil,
|
18
|
+
:vps_order_oid_to_clone => nil,
|
19
|
+
},
|
20
|
+
:ip_request => {
|
21
|
+
:extra_ip_reason => nil,
|
22
|
+
:num_ips => nil,
|
23
|
+
:requested_ips => nil,
|
24
|
+
},
|
25
|
+
:is_just_minimal_init => nil,
|
26
|
+
:meta_data => nil,
|
27
|
+
:pricing_plan_code => nil,
|
28
|
+
:user_oid => nil,
|
29
|
+
:vps_parameters => {
|
30
|
+
:disk_space_mb => nil,
|
31
|
+
:memory_mb => nil,
|
32
|
+
:disk_space_2_mb => nil,
|
33
|
+
},
|
34
|
+
:vps_type => nil,
|
35
|
+
}
|
36
|
+
end
|
36
37
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
38
|
+
def create(params)
|
39
|
+
raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
|
40
|
+
raise ArgumentError, "params should contain atleast instantiation_options or instantiation_via_clone_options" \
|
41
|
+
unless params.has_key?(:instantiation_options) || params.has_key?(:instantiation_via_clone_options)
|
42
|
+
data = {:new_order_request => prep_data(default_vps_params, params)}
|
43
|
+
send_request("/r/orders/new-vps", "about_order", "POST", data)
|
44
|
+
end
|
44
45
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
46
|
+
def reinstall(oid, params={})
|
47
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
48
|
+
raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
|
49
|
+
data = {:reinstall_request => prep_data(default_vps_params, params)}
|
50
|
+
send_request("/r/orders/order-#{oid}-dn/vps/reinstall", "running_vps_info", "PUT", data)
|
51
|
+
end
|
51
52
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
def status(oid)
|
54
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
55
|
+
send_request("/r/orders/order-#{oid}-dn/vps", "running_vps_info")
|
56
|
+
end
|
56
57
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
def info(oid)
|
59
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
60
|
+
send_request("/r/orders/order-#{oid}-dn", "about_order")
|
61
|
+
end
|
61
62
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
63
|
+
def cancel(oid)
|
64
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
65
|
+
send_request("/r/orders/order-#{oid}-dn/vps", "cancel_messages", "DELETE")
|
66
|
+
end
|
66
67
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
68
|
+
def move(oid, params={})
|
69
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
70
|
+
raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
|
71
|
+
default_params = {
|
72
|
+
:update_dns=>false,
|
73
|
+
:move_reason=>'',
|
74
|
+
:pricing_change_option=>'CHOOSE_BEST_OPTION',
|
75
|
+
:selected_host_server_oid=>nil,
|
76
|
+
}
|
77
|
+
data = {:vps_move_request => prep_data(default_params, params)}
|
78
|
+
send_request("/r/orders/order-#{oid}-dn/vps/host-server", "about_order", "PUT", data)
|
79
|
+
end
|
79
80
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
81
|
+
def resize(oid, params)
|
82
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
83
|
+
raise ArgumentError, "params should be a hash" unless params.is_a?(Hash)
|
84
|
+
default_params = {
|
85
|
+
:disk_space_2_mb => nil,
|
86
|
+
:disk_space_mb => nil,
|
87
|
+
:memory_mb => nil,
|
88
|
+
}
|
89
|
+
clean_params = prep_data(default_params, params)
|
90
|
+
raise ArgumentError, "atleast one parameter is required" if clean_params.empty?
|
91
|
+
data = {:vps_resize_request => clean_params}
|
92
|
+
send_request("/r/orders/order-#{oid}-dn/vps/parameters", "resource_change_result", "PUT", data)
|
93
|
+
end
|
91
94
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
95
|
+
def change_state(oid, new_state)
|
96
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
97
|
+
params = {:running_state_change_request=>{:running_state=>new_state}}
|
98
|
+
send_request("/r/orders/order-#{oid}-dn/vps/running-state", "running_vps_info", "PUT", params)
|
99
|
+
end
|
97
100
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
101
|
+
def reboot(oid)
|
102
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
103
|
+
change_state(oid, "RESTARTING")
|
104
|
+
end
|
102
105
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
106
|
+
def shutdown(oid)
|
107
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
108
|
+
change_state(oid, "NOTRUNNING")
|
109
|
+
end
|
107
110
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
111
|
+
def start(oid)
|
112
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
113
|
+
change_state(oid, "RUNNING")
|
114
|
+
end
|
112
115
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
116
|
+
def power_cycle(oid)
|
117
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
118
|
+
change_state(oid, "POWERCYCLING")
|
119
|
+
end
|
117
120
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
121
|
+
def data_transfer(oid)
|
122
|
+
raise ArgumentError, "oid should be an Integer" unless oid.is_a?(Integer)
|
123
|
+
send_request("/r/orders/order-#{oid}-dn/vps/data-transfer-usage", "data_transfer_usage_info")
|
124
|
+
end
|
125
|
+
end
|
122
126
|
end
|
data/lib/rimu/version.rb
ADDED
data/lib/rimu.rb
CHANGED
@@ -2,155 +2,157 @@ require 'json'
|
|
2
2
|
require 'ostruct'
|
3
3
|
require 'httparty'
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
5
|
+
module Rimu
|
6
|
+
class RimuAPI
|
7
|
+
attr_accessor :logger
|
8
|
+
|
9
|
+
def initialize(args)
|
10
|
+
@api_url = args[:api_url] if args[:api_url]
|
11
|
+
@logger = args[:logger]
|
12
|
+
if args.include?(:api_key)
|
13
|
+
@api_key = args[:api_key]
|
14
|
+
else
|
15
|
+
raise ArgumentError, "The :api_key is required."
|
16
|
+
end
|
17
|
+
@read_timeout = args[:read_timeout] if args[:read_timeout]
|
18
|
+
raise ArgumentError, "The :read_timeout must be an Integer." if ! @read_timeout.nil? && ! @read_timeout.is_a?(Integer)
|
19
|
+
end
|
20
|
+
|
21
|
+
def api_url
|
22
|
+
@api_url || "https://api.rimuhosting.com"
|
23
|
+
end
|
24
|
+
|
25
|
+
def api_key
|
26
|
+
@api_key
|
27
|
+
end
|
28
|
+
|
29
|
+
def read_timeout
|
30
|
+
@read_timeout || 3600
|
31
|
+
end
|
32
|
+
|
33
|
+
def set_headers
|
34
|
+
{
|
35
|
+
'Content-Type' =>'application/json',
|
36
|
+
'Accept' =>'application/json',
|
37
|
+
'User-Agent' => 'RimuAPI-Ruby',
|
38
|
+
'Authorization' => "rimuhosting apikey=#{api_key}",
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
def error?(response)
|
43
|
+
if response.nil?
|
44
|
+
return true
|
45
|
+
else
|
46
|
+
if response.is_a?(Hash) && ! response.empty?
|
47
|
+
! response.empty? and response[response.keys[0]] and \
|
48
|
+
response[response.keys[0]].has_key?("response_type") and \
|
49
|
+
response[response.keys[0]]["response_type"] == "ERROR"
|
50
|
+
else
|
51
|
+
return true
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def error_message(response)
|
57
|
+
if response.nil? || ! response.is_a?(Hash) || (response.is_a?(Hash) && response.empty?)
|
58
|
+
if response.empty?
|
59
|
+
" - Error: Response was empty"
|
49
60
|
else
|
50
|
-
|
61
|
+
" - Error: Unknown error occured"
|
51
62
|
end
|
52
|
-
|
53
|
-
|
63
|
+
else
|
64
|
+
if response[response.keys[0]].has_key?("human_readable_message")
|
65
|
+
error = response[response.keys[0]]["human_readable_message"]
|
66
|
+
" - Error: #{error}"
|
67
|
+
else
|
68
|
+
" - Error: Unknown error occured"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
54
72
|
|
55
|
-
|
56
|
-
|
57
|
-
if
|
58
|
-
|
73
|
+
def format_response(response, field)
|
74
|
+
result = response[response.keys[0]]
|
75
|
+
if result.is_a?(Hash) and result.has_key?(field)
|
76
|
+
result = result[field]
|
77
|
+
end
|
78
|
+
return result.collect {|item| convert_item(item) } if result.class == Array
|
79
|
+
return result unless result.respond_to?(:keys)
|
80
|
+
convert_item(result)
|
81
|
+
end
|
82
|
+
|
83
|
+
def convert_item(response)
|
84
|
+
response.keys.each do |key|
|
85
|
+
response[key.downcase] = response[key]
|
86
|
+
response.delete(key) if key != key.downcase
|
87
|
+
end
|
88
|
+
OpenStruct.new(response)
|
89
|
+
end
|
90
|
+
|
91
|
+
def send_request(path, field, method="GET", data=nil)
|
92
|
+
logger.info "#{method} #{api_url}#{path} body:#{data.inspect}" if logger
|
93
|
+
if data.nil?
|
94
|
+
options = {headers: set_headers}
|
59
95
|
else
|
60
|
-
|
96
|
+
options = {headers: set_headers, body: data.to_json, read_timeout: read_timeout}
|
61
97
|
end
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
end
|
110
|
-
|
111
|
-
def billing_methods
|
112
|
-
send_request("/r/billing-methods", "billing_methods")
|
113
|
-
end
|
114
|
-
|
115
|
-
def prep_data(default_params, params)
|
116
|
-
params.keep_if {|k,_| default_params.keys.include? k }
|
117
|
-
new_params = default_params.merge(params)
|
118
|
-
new_params.each_pair do |key, val|
|
119
|
-
if val.is_a?(Hash)
|
120
|
-
val.keep_if {|_,v| v != nil }
|
121
|
-
val.keep_if {|k,_| default_params[key].keys.include? k }
|
122
|
-
end
|
123
|
-
end
|
124
|
-
new_params.keep_if {|_,v| (v.is_a?(Hash) && ! v.empty?) || (! v.is_a?(Hash) && v != nil) }
|
125
|
-
return new_params
|
126
|
-
end
|
127
|
-
|
128
|
-
def self.has_namespace(*namespaces)
|
129
|
-
namespaces.each do |namespace|
|
130
|
-
define_method(namespace.to_sym) do ||
|
131
|
-
lookup = instance_variable_get("@#{namespace}")
|
132
|
-
return lookup if lookup
|
133
|
-
subclass = self.class.const_get(namespace.to_s.capitalize).new(
|
134
|
-
:api_key => api_key,
|
135
|
-
:api_url => api_url,
|
136
|
-
:logger => logger,
|
137
|
-
:read_timeout => read_timeout,
|
138
|
-
)
|
139
|
-
instance_variable_set("@#{namespace}", subclass)
|
140
|
-
subclass
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
98
|
+
begin
|
99
|
+
response = HTTParty.send(method.downcase.to_sym, path, options).parsed_response
|
100
|
+
rescue StandardError => e
|
101
|
+
raise RimuRequestError, "Errors completing request #{method} #{api_url}#{path} with data [#{data.inspect}]:\n#{e}"
|
102
|
+
end
|
103
|
+
raise RimuResponseError, "Errors completing request #{method} #{api_url}#{path} with data [#{data.inspect}]:\n#{error_message(response)}" if error?(response)
|
104
|
+
logger.info "Response: => #{response}" if logger
|
105
|
+
format_response(response, field)
|
106
|
+
end
|
107
|
+
|
108
|
+
def distributions
|
109
|
+
send_request("/r/distributions", "distro_infos")
|
110
|
+
end
|
111
|
+
|
112
|
+
def billing_methods
|
113
|
+
send_request("/r/billing-methods", "billing_methods")
|
114
|
+
end
|
115
|
+
|
116
|
+
def prep_data(default_params, params)
|
117
|
+
params.keep_if {|k,_| default_params.keys.include? k }
|
118
|
+
new_params = default_params.merge(params)
|
119
|
+
new_params.each_pair do |key, val|
|
120
|
+
if val.is_a?(Hash)
|
121
|
+
val.keep_if {|_,v| v != nil }
|
122
|
+
val.keep_if {|k,_| default_params[key].keys.include? k }
|
123
|
+
end
|
124
|
+
end
|
125
|
+
new_params.keep_if {|_,v| (v.is_a?(Hash) && ! v.empty?) || (! v.is_a?(Hash) && v != nil) }
|
126
|
+
return new_params
|
127
|
+
end
|
128
|
+
|
129
|
+
def self.has_namespace(*namespaces)
|
130
|
+
namespaces.each do |namespace|
|
131
|
+
define_method(namespace.to_sym) do ||
|
132
|
+
lookup = instance_variable_get("@#{namespace}")
|
133
|
+
return lookup if lookup
|
134
|
+
subclass = self.class.const_get(namespace.to_s.capitalize).new(
|
135
|
+
:api_key => api_key,
|
136
|
+
:api_url => api_url,
|
137
|
+
:logger => logger,
|
138
|
+
:read_timeout => read_timeout,
|
139
|
+
)
|
140
|
+
instance_variable_set("@#{namespace}", subclass)
|
141
|
+
subclass
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
144
145
|
|
145
|
-
|
146
|
+
has_namespace :orders, :servers
|
146
147
|
|
147
|
-
|
148
|
-
|
148
|
+
class RimuArgumentError < ArgumentError
|
149
|
+
end
|
149
150
|
|
150
|
-
|
151
|
-
|
151
|
+
class RimuRequestError < StandardError
|
152
|
+
end
|
152
153
|
|
153
|
-
|
154
|
-
|
154
|
+
class RimuResponseError < StandardError
|
155
|
+
end
|
156
|
+
end
|
157
|
+
Dir[File.expand_path(File.dirname(__FILE__) + '/rimu/*.rb')].each {|f| require f }
|
155
158
|
end
|
156
|
-
Dir[File.expand_path(File.dirname(__FILE__) + '/rimu/*.rb')].each {|f| require f }
|
data/rimu.gemspec
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rimu/version'
|
2
5
|
|
3
6
|
Gem::Specification.new do |spec|
|
4
7
|
spec.name = "rimu"
|
5
|
-
spec.version =
|
8
|
+
spec.version = Rimu::Version::VERSION
|
6
9
|
spec.authors = ["Andrew Colin Kissa"]
|
7
10
|
spec.email = ["andrew@topdog.za.net"]
|
8
11
|
spec.license = "MPL-2.0"
|
metadata
CHANGED
@@ -1,125 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rimu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Colin Kissa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec-core
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec-expectations
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: mocha
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: httparty
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0.0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: json
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '1.0'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '1.0'
|
125
125
|
description: This is a Ruby wrapper around Rimuhosting's REST API
|
@@ -130,11 +130,11 @@ extensions: []
|
|
130
130
|
extra_rdoc_files:
|
131
131
|
- README.md
|
132
132
|
files:
|
133
|
-
- .codeclimate.yml
|
134
|
-
- .gitignore
|
135
|
-
- .rspec
|
136
|
-
- .rubocop.yml
|
137
|
-
- .travis.yml
|
133
|
+
- ".codeclimate.yml"
|
134
|
+
- ".gitignore"
|
135
|
+
- ".rspec"
|
136
|
+
- ".rubocop.yml"
|
137
|
+
- ".travis.yml"
|
138
138
|
- Gemfile
|
139
139
|
- LICENSE
|
140
140
|
- README.md
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- lib/rimu.rb
|
143
143
|
- lib/rimu/orders.rb
|
144
144
|
- lib/rimu/servers.rb
|
145
|
+
- lib/rimu/version.rb
|
145
146
|
- rimu.gemspec
|
146
147
|
homepage: https://github.com/akissa/rimu
|
147
148
|
licenses:
|
@@ -153,17 +154,17 @@ require_paths:
|
|
153
154
|
- lib
|
154
155
|
required_ruby_version: !ruby/object:Gem::Requirement
|
155
156
|
requirements:
|
156
|
-
- -
|
157
|
+
- - ">="
|
157
158
|
- !ruby/object:Gem::Version
|
158
159
|
version: 1.9.3
|
159
160
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
161
|
requirements:
|
161
|
-
- -
|
162
|
+
- - ">="
|
162
163
|
- !ruby/object:Gem::Version
|
163
164
|
version: '0'
|
164
165
|
requirements: []
|
165
166
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.4.
|
167
|
+
rubygems_version: 2.4.8
|
167
168
|
signing_key:
|
168
169
|
specification_version: 4
|
169
170
|
summary: Ruby bindings for the Rimuhosting REST API
|