hyperresource 0.9.1 → 0.9.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
  SHA1:
3
- metadata.gz: af24d48bc701443215065bd5c689530014860cfd
4
- data.tar.gz: 47b4d6f60ae59bf154ca9395dc42404f1aea0124
3
+ metadata.gz: 994caf9b693b5b6cdd77190ca301a035519e0040
4
+ data.tar.gz: 855042518f9e6109dffacbfe577a9e3152845905
5
5
  SHA512:
6
- metadata.gz: 599e643a3ff95f29a9616b0465228a8e233748c91abc1234ceb67e467f3418f82ae5a003ba63f6805807af73b528e0e5142bfacea5f9f298fb4b799f6832ec1d
7
- data.tar.gz: cb51756aef3602776930786acf55889163ffd6e7a0cc03ff017822909b6a21617bc486673a39beb2b6221619dff80ac250a9efbf6070ac97a0e3476cfca67847
6
+ metadata.gz: 83ea2179593c0937e045eb3d231c2e685f1d4646748e4e5c2e238e607f4160964d0421e32a94ae8d4f6d55fc2bea4c12360cbe9fc61558695f312ff8bbed273e
7
+ data.tar.gz: 2340305b98056439846fa5635a8865fd8317c7917f139fb5eeaae9c2b7776629d06c13f00874b0833e3285aedd7a26b05200a9e33c8aa3ad10eaac5d703bbf25
@@ -106,7 +106,7 @@ public
106
106
  def self.new_from(args)
107
107
  link = args[:link]
108
108
  resource = args[:resource] || link.resource
109
- href = args[:href] || link.href
109
+ href = args[:href] || link.href rescue nil
110
110
  url = args[:url] || URI.join(resource.root, href || '')
111
111
  response = args[:response]
112
112
  body = args[:body] || {}
@@ -44,15 +44,17 @@ class HyperResource
44
44
 
45
45
  resp['_embedded'].each do |name, collection|
46
46
  if collection.is_a? Hash
47
+ href = collection['_links']['self']['href'] rescue nil
47
48
  objs[name] =
48
49
  rsrc.new_from(:resource => rsrc,
49
50
  :body => collection,
50
- :href => collection['_links']['self']['href'] )
51
+ :href => href)
51
52
  else
52
53
  objs[name] = collection.map do |obj|
54
+ href = obj['_links']['self']['href'] rescue nil
53
55
  rsrc.new_from(:resource => rsrc,
54
56
  :body => obj,
55
- :href => obj['_links']['self']['href'] )
57
+ :href => href)
56
58
  end
57
59
  end
58
60
  end
@@ -45,14 +45,12 @@ class HyperResource
45
45
 
46
46
  ## Make sure data type class exists
47
47
  type = type[0,1].upcase + type[1..-1] ## capitalize
48
- data_type_str = sanitize_class_name("#{namespace_str}::#{type}")
49
- data_type_class = eval(data_type_str) rescue nil
50
- if !data_type_class
48
+ sanitized_type = sanitize_class_name(type)
49
+ data_type_str = "#{namespace_str}::#{sanitized_type}"
50
+ unless ns_class.constants.include?(sanitized_type.to_sym)
51
51
  Object.module_eval("class #{data_type_str} < #{namespace_str}; end")
52
- data_type_class = eval(data_type_str)
53
52
  end
54
-
55
- data_type_class
53
+ eval(data_type_str)
56
54
  end
57
55
 
58
56
  ## Given a body Hash and a response Faraday::Response, detect and
@@ -1,5 +1,5 @@
1
1
  class HyperResource
2
- VERSION = '0.9.1'
3
- VERSION_DATE = '2015-03-25'
2
+ VERSION = '0.9.2'
3
+ VERSION_DATE = '2015-10-29'
4
4
  end
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperresource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pete Gamache
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-25 00:00:00.000000000 Z
11
+ date: 2015-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uri_template
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 2.2.2
171
+ rubygems_version: 2.4.6
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Extensible hypermedia client for Ruby