api-resource 0.7.8 → 0.7.9

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: 158646a91a4a3110f1b329e23671282ba974c01c
4
- data.tar.gz: 708e375cf7e7ee164b949e44d5569e5161ee6c71
3
+ metadata.gz: e46acd5a0fad653b8bd1f28fbc8e8888206b4fa6
4
+ data.tar.gz: 264cbaf4118a5fa1bf114d34d4fe785d1b672555
5
5
  SHA512:
6
- metadata.gz: e23c1f41326346e04cbc90dfec95428a686bc002a80cc31d89ddd18727b0de02774e14ffa4a38c0bc27cc7b84eaf5ca751f07b495eb8c1bc23518149241fcc36
7
- data.tar.gz: 7a50f726da7adec4512d69ae9bfaae9d0b63c06647af9307d0e62adbdcb8773ecb5e6b257b606dd81df859edc73643be26c377427199fdc133a5a8d0868e51f2
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
- def initialize(data, meta, klass)
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)
@@ -1,3 +1,3 @@
1
1
  module ApiResource
2
- VERSION = '0.7.8'
2
+ VERSION = '0.7.9'
3
3
  end
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.8
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: 2015-07-06 00:00:00.000000000 Z
11
+ date: 2016-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple-hmac