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 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