api-resource 0.7.8 → 0.7.9
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/api-resource/resource.rb +11 -5
- data/lib/api-resource/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e46acd5a0fad653b8bd1f28fbc8e8888206b4fa6
|
4
|
+
data.tar.gz: 264cbaf4118a5fa1bf114d34d4fe785d1b672555
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17627ed5f07cde73a5a70ea1efdbd4242b2d806cd0e4ceabb70bb929bbed982bf880895e90059abe6e83d7b1cf23250a1353d6cbd0723dd802c8685d84d4cefb
|
7
|
+
data.tar.gz: c8d8e526d2ed38cee5f65e25f0709798eff60afc93ecac8724ca7bc610b6685079d42cbfb3cd9c5dcfa622e59c5ad83eb04f5deee3d98fab602e16cf8e702950
|
@@ -34,6 +34,8 @@ module ApiResource
|
|
34
34
|
self.default_per_page = 500
|
35
35
|
class_attribute :logger
|
36
36
|
|
37
|
+
attr_reader :raw_result
|
38
|
+
|
37
39
|
def self.with_hmac(api_id, api_secret, options={})
|
38
40
|
self.hmac = true
|
39
41
|
self.api_id = api_id
|
@@ -45,8 +47,9 @@ module ApiResource
|
|
45
47
|
self.pre_submit_filter = block if block_given?
|
46
48
|
end
|
47
49
|
|
48
|
-
def initialize(hash=nil)
|
50
|
+
def initialize(hash=nil, raw_result=nil)
|
49
51
|
self.attributes = hash if hash
|
52
|
+
@raw_result = raw_result
|
50
53
|
end
|
51
54
|
|
52
55
|
def self.resource_path
|
@@ -68,7 +71,7 @@ module ApiResource
|
|
68
71
|
def self.find(id, params={})
|
69
72
|
result = client(:get, params, resource_path, id)
|
70
73
|
json = JSON.parse(result)
|
71
|
-
self.new(json['data'] || json)
|
74
|
+
self.new(json['data'] || json, result)
|
72
75
|
end
|
73
76
|
|
74
77
|
def self.all
|
@@ -113,7 +116,7 @@ module ApiResource
|
|
113
116
|
type ||= meta && meta['type']
|
114
117
|
if type
|
115
118
|
returned_type = self.class.load_class(type)
|
116
|
-
returned_type.new(json['data'] || json)
|
119
|
+
returned_type.new(json['data'] || json, result)
|
117
120
|
else
|
118
121
|
self
|
119
122
|
end
|
@@ -198,7 +201,7 @@ module ApiResource
|
|
198
201
|
|
199
202
|
def self.create_resource_collection(result)
|
200
203
|
json = JSON.parse(result)
|
201
|
-
ResourceCollection.new(json['data'], json['meta'], self)
|
204
|
+
ResourceCollection.new(json['data'], json['meta'], self, result)
|
202
205
|
end
|
203
206
|
|
204
207
|
def self.load_class(tableized_class)
|
@@ -307,9 +310,12 @@ module ApiResource
|
|
307
310
|
class ResourceCollection
|
308
311
|
include Enumerable
|
309
312
|
|
310
|
-
|
313
|
+
attr_reader :raw_result
|
314
|
+
|
315
|
+
def initialize(data, meta, klass, raw_result=nil)
|
311
316
|
meta.each { |k, v| self.class.class_eval { define_method(k) { v } } } if meta
|
312
317
|
@resources = data.map { |e| klass.new(e) }.to_a
|
318
|
+
@raw_result = raw_result
|
313
319
|
end
|
314
320
|
|
315
321
|
def method_missing(m, *args, &block)
|
data/lib/api-resource/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api-resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chaker Nakhli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple-hmac
|