cropio-ruby 0.20 → 0.30

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: a20b1892eee7c583544a099873c23b21d0a3d292f3cc85e22c0c6e4bccbd7e63
4
- data.tar.gz: adf3177b00cfe063aae9552d846c6ceb1e18bda4da319cc7a10fcd5859106fd1
3
+ metadata.gz: 77758f23f2c5d9cdcf0400363600bc364672fd822fd2ba06db2c2db9fd43723e
4
+ data.tar.gz: 134dbc4b77839a712ced82a2374b931a65a0620dd54414a216290c077aefeead
5
5
  SHA512:
6
- metadata.gz: 82c1ead15e22f999cbaf74d36df2f37c7d333d327cab188113c32a2d7245cb574441f4d9e0553de3344dc4630278f2b2932607048d678aeae057a03aec8f05b8
7
- data.tar.gz: fb992dc5971306f34ab89df2f1eee169828a74763ffb76bd3722567ff5d040095a67916585e7593a3a9a6d0476d2b6840f32197cfc5447898055c4771e185f48
6
+ metadata.gz: c839106f25b44657f26c4f2f1d7ca21924975c43a6ada212e04f067b510e0d8577d9f07bfbeb89a24ca387f208d6630756f8ddd8e2f67049675d42bc3578a214
7
+ data.tar.gz: cc592d5711cad983f2df110aebee664ec92c7d53e1d34a9bc0169a1ecbb7cfbd7412f1e998b146e3b7006d55bb22545071ac74d9e459f114045e7e79f635b75c
data/README.md CHANGED
@@ -56,6 +56,11 @@ Currently supported API methods is:
56
56
  Crop.all
57
57
  ```
58
58
 
59
+ - get record by id
60
+ ```ruby
61
+ Crop.find(1)
62
+ ```
63
+
59
64
  - create
60
65
 
61
66
  ```ruby
@@ -7,7 +7,9 @@ module Cropio
7
7
  # Accepts reources name and params to perform HTTPS GET request.
8
8
  def get(resource, query = {})
9
9
  rmethod = extract_resource_method!(query)
10
- proxy(method: :get, url: url_for(resource, rmethod),
10
+ id = extract_record_id!(query)
11
+
12
+ proxy(method: :get, url: url_for(resource, rmethod, id),
11
13
  headers: { params: query })
12
14
  end
13
15
 
@@ -28,17 +30,25 @@ module Cropio
28
30
 
29
31
  protected
30
32
 
31
- def url_for(resource, resource_method = nil)
33
+ def url_for(resource, resource_method = nil, id = nil)
32
34
  url = "#{Cropio::Connection::Configurable::BASE_URL}/#{resource}"
33
35
  url += "/#{resource_method}" if resource_method
36
+ url += "/#{id}" if id
34
37
  url
35
38
  end
36
39
 
37
40
  def extract_resource_method!(query)
38
- fail(ArgumentError) unless query.is_a?(Hash)
41
+ raise ArgumentError unless query.is_a?(Hash)
42
+
39
43
  query.delete(:resource_method)
40
44
  end
41
45
 
46
+ def extract_record_id!(query)
47
+ raise ArgumentError unless query.is_a?(Hash)
48
+
49
+ query.delete(:id)
50
+ end
51
+
42
52
  def proxy(options)
43
53
  options[:headers] ||= {}
44
54
  options[:headers].merge!(headers)
@@ -48,10 +58,13 @@ module Cropio
48
58
  rescue RestClient::UnprocessableEntity => e
49
59
  puts JSON.parse(e.http_body)
50
60
  raise e
61
+ rescue RestClient::NotFound
62
+ {}
51
63
  end
52
64
 
53
65
  def clear_params_in_options!(options)
54
66
  return if options[:headers][:params].nil?
67
+
55
68
  options[:headers][:params].reject! { |_k, v| v.nil? }
56
69
  end
57
70
 
@@ -42,6 +42,13 @@ module Cropio
42
42
  to_instances(get_all_changes(from_time, to_time))
43
43
  end
44
44
 
45
+ def self.find(id)
46
+ obj = PROXY.get(resources_name, id: id).fetch('data', nil)
47
+ return if obj.nil?
48
+
49
+ to_instance(obj)
50
+ end
51
+
45
52
  # Returns persistance of the resource.
46
53
  # Resource is persisted if it is saved
47
54
  # and not deleted, if this resource exists
@@ -1,3 +1,3 @@
1
1
  module Cropio
2
- VERSION = '0.20'.freeze
2
+ VERSION = '0.30'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cropio-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.20'
4
+ version: '0.30'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Vernidub
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-16 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -113,8 +113,6 @@ files:
113
113
  - bin/console
114
114
  - bin/login
115
115
  - bin/setup
116
- - cropio-ruby-0.18.gem
117
- - cropio-ruby-0.19.gem
118
116
  - cropio-ruby.gemspec
119
117
  - lib/cropio.rb
120
118
  - lib/cropio/connection.rb
Binary file
Binary file