lm_rest 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa5d869b3f6a8928f4c7328c79e695ed96b3559abff1cac0daf4da09d0ad6526
4
- data.tar.gz: 183f6cca33109ce03c90d2d43cedba9b52d54b4c93d7143e864abc44c2290760
3
+ metadata.gz: f137a994d6ddab31ee6c1a76ccae930bc24f12cecd4c730b1ca0c01976e5b664
4
+ data.tar.gz: 1e0a0244811c50863ff54b4595bf3ad3405c7ec9b3507b8a53416526eb042b09
5
5
  SHA512:
6
- metadata.gz: 220d6193ce97099a9e6af01b5eb5c2ef43cf91d580d626737ca9bf7f0954ebfe7171bb9e04797fbd23317ce75a673a221a48a825dbadc246782a7b15b154c218
7
- data.tar.gz: 574b492b98762c1be1f41acac90039f985852cf585dc9976d7176996e86c276515d0fe75bb0b60be192b191ad08de46956542f566088d36ccdca19c627c017a8
6
+ metadata.gz: d54b5b7596fad51d9b380b2ddf65ba1783b9976fa30b2b1f1089c9874ef23e2aa3c5d20c85081cd4bcdd7d960821d034160d6178e9322e06f0d4eadd8fa6216e
7
+ data.tar.gz: 01db43bbf4e101b91b27253920bfb80437953bb23819c2d0b0b47612b61455d63e0f3d3ee49f3a4deebfc457ccd887c65827aeac47cc35c20226212c1536ab0c
data/api.json CHANGED
@@ -23,7 +23,7 @@
23
23
  ]
24
24
  },
25
25
  "Collector": {
26
- "url": "/setting/collectors",
26
+ "url": "/setting/collector/collectors",
27
27
  "method_names": {
28
28
  "singular": "collector",
29
29
  "plural": "collectors"
@@ -126,11 +126,11 @@
126
126
  "delete"
127
127
  ]
128
128
  },
129
- "Service": {
130
- "url": "/service/services",
129
+ "Website": {
130
+ "url": "/website/websites",
131
131
  "method_names": {
132
- "singular": "service",
133
- "plural": "services"
132
+ "singular": "website",
133
+ "plural": "websites"
134
134
  },
135
135
  "actions": [
136
136
  "get",
@@ -143,7 +143,7 @@
143
143
  ]
144
144
  },
145
145
  "SiteMonitorCheckpoint": {
146
- "url": "/service/smcheckpoints",
146
+ "url": "/website/smcheckpoints",
147
147
  "method_names": {
148
148
  "singular": "smcheckpoint",
149
149
  "plural": "smcheckpoints"
@@ -153,7 +153,7 @@
153
153
  ]
154
154
  },
155
155
  "ServiceGroup": {
156
- "url": "/service/groups",
156
+ "url": "/website/groups",
157
157
  "method_names": {
158
158
  "singular": "service_group",
159
159
  "plural": "service_groups"
@@ -195,7 +195,7 @@
195
195
  ]
196
196
  },
197
197
  "APIToken": {
198
- "url": "/setting/apiTokens",
198
+ "url": "/setting/admin/apitokens",
199
199
  "method_names": {
200
200
  "singular": "api_token",
201
201
  "plural": "api_tokens"
@@ -38,14 +38,6 @@ module LMRest
38
38
  uri.split("?")[0].split("/").join("/")
39
39
  end
40
40
 
41
- def snakerize(string)
42
- string.gsub(/::/, '/').
43
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
44
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
45
- tr("-", "_").
46
- downcase
47
- end
48
-
49
41
  def sign(method, uri, data = nil)
50
42
 
51
43
  resource_uri = uri_to_resource_uri(uri)
@@ -180,76 +172,75 @@ module LMRest
180
172
  end
181
173
  end
182
174
 
183
- def self.process_paths
175
+ def self.define_action_methods(resource_type, attributes)
176
+ singular = attributes['method_names']['singular']
177
+ plural = attributes['method_names']['plural']
184
178
  resource_uri = attributes['url']
185
- @@api_json[paths].keys.each do |path|
186
179
 
187
- path.keys.each do |action|
188
- case action
189
- when 'get'
180
+ attributes['actions'].each do |action|
181
+ case action
182
+ when 'get'
190
183
 
191
- uri = lambda { |params| "#{resource_uri}#{RequestParams.parameterize(params)}"}
192
- method_name = snakerize(@@api_json['paths'][path][action][operationId])
184
+ uri = lambda { |params| "#{resource_uri}#{RequestParams.parameterize(params)}"}
193
185
 
194
- unless plural.nil?
195
- # Define a method to fetch multiple resources with optional params
196
- define_method("get_#{plural}") do |params = {}|
197
- Resource.parse paginate(uri, params)
198
- end
186
+ unless plural.nil?
187
+ # Define a method to fetch multiple resources with optional params
188
+ define_method("get_#{plural}") do |params = {}|
189
+ Resource.parse paginate(uri, params)
199
190
  end
191
+ end
200
192
 
201
- # Define a method to get one resource by it's id number, with optional
202
- # params, thought now that I think about it I'm not sure why you'd pass
203
- # params when grabbing just one resource.
204
-
205
- # Some resources are Singletons
206
- unless singular.nil?
207
- define_method("get_#{singular}") do |*args|
208
- case args.size
209
- when 0
210
- Resource.parse request(:get, "#{resource_uri}", nil)
211
- when 1
212
- Resource.parse request(:get, "#{resource_uri}/#{args[0]}", nil)
213
- when 2
214
- Resource.parse request(:get, "#{resource_uri}/#{args[0]}#{RequestParams.parameterize(args[1])}", nil)
215
- else
216
- raise ArgumentError.new("wrong number for arguments (#{args.count} for 1..2)")
217
- end
193
+ # Define a method to get one resource by it's id number, with optional
194
+ # params, thought now that I think about it I'm not sure why you'd pass
195
+ # params when grabbing just one resource.
196
+
197
+ # Some resources are Singletons
198
+ unless singular.nil?
199
+ define_method("get_#{singular}") do |*args|
200
+ case args.size
201
+ when 0
202
+ Resource.parse request(:get, "#{resource_uri}", nil)
203
+ when 1
204
+ Resource.parse request(:get, "#{resource_uri}/#{args[0]}", nil)
205
+ when 2
206
+ Resource.parse request(:get, "#{resource_uri}/#{args[0]}#{RequestParams.parameterize(args[1])}", nil)
207
+ else
208
+ raise ArgumentError.new("wrong number for arguments (#{args.count} for 1..2)")
218
209
  end
219
210
  end
211
+ end
220
212
 
221
- when 'add'
213
+ when 'add'
222
214
 
223
- # Define a method to add a new resource to the account
224
- define_method("add_#{singular}") do |properties|
225
- if properties.class == LMRest::Resource
226
- Resource.parse request(:post, "#{resource_uri}", properties.to_h)
227
- else
228
- Resource.parse request(:post, "#{resource_uri}", properties)
229
- end
215
+ # Define a method to add a new resource to the account
216
+ define_method("add_#{singular}") do |properties|
217
+ if properties.class == LMRest::Resource
218
+ Resource.parse request(:post, "#{resource_uri}", properties.to_h)
219
+ else
220
+ Resource.parse request(:post, "#{resource_uri}", properties)
230
221
  end
222
+ end
231
223
 
232
- when 'update'
224
+ when 'update'
233
225
 
234
- # Define a method to update a resource
235
- define_method("update_#{singular}") do |id, properties = {}|
236
- if id.class == LMRest::Resource
237
- Resource.parse request(:put, "#{resource_uri}/#{id.id}", id.to_h)
238
- else
239
- Resource.parse request(:put, "#{resource_uri}/#{id}", properties)
240
- end
226
+ # Define a method to update a resource
227
+ define_method("update_#{singular}") do |id, properties = {}|
228
+ if id.class == LMRest::Resource
229
+ Resource.parse request(:put, "#{resource_uri}/#{id.id}", id.to_h)
230
+ else
231
+ Resource.parse request(:put, "#{resource_uri}/#{id}", properties)
241
232
  end
233
+ end
242
234
 
243
- when 'delete'
235
+ when 'delete'
244
236
 
245
- # Define a method to delete the resource
246
- define_method("delete_#{singular}") do |id|
247
- if id.class == LMRest::Resource
248
- id = id.id
249
- Resource.parse request(:delete, "#{resource_uri}/#{id}", nil)
250
- else
251
- Resource.parse request(:delete, "#{resource_uri}/#{id}", nil)
252
- end
237
+ # Define a method to delete the resource
238
+ define_method("delete_#{singular}") do |id|
239
+ if id.class == LMRest::Resource
240
+ id = id.id
241
+ Resource.parse request(:delete, "#{resource_uri}/#{id}", nil)
242
+ else
243
+ Resource.parse request(:delete, "#{resource_uri}/#{id}", nil)
253
244
  end
254
245
  end
255
246
  end
@@ -1,3 +1,3 @@
1
1
  module LMRest
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lm_rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Rodrigues