api-resource 0.7.5 → 0.7.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/api-resource/resource.rb +14 -3
- data/lib/api-resource/version.rb +1 -1
- data/spec/resource_collection_spec.rb +13 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff13e586ba5115068b6d745225fedff154edf75e
|
4
|
+
data.tar.gz: b0faf9a94735afa8c7ad76808624bc9264fc6105
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f18923f4597e79b3b5afdc67ee9722214344d33b2ff3b31b1de15b6443556ff14333e03c0ae076601378cc730f917ffdd34602fd9ad5652c9e089a35d71e1be8
|
7
|
+
data.tar.gz: 125fa114e774163151d071cde9b7d3bb01f844fbf48659fdf355a40342d84102396c16b5e0802ee28f77f4cfdbccd755f7bf421afb92545d691965090c694cb1
|
@@ -302,11 +302,22 @@ module ApiResource
|
|
302
302
|
|
303
303
|
def initialize(data, meta, klass)
|
304
304
|
meta.each { |k, v| self.class.class_eval { define_method(k) { v } } } if meta
|
305
|
-
@resources = data.map { |e| klass.new(e) }
|
305
|
+
@resources = data.map { |e| klass.new(e) }.to_a
|
306
306
|
end
|
307
307
|
|
308
|
-
def
|
309
|
-
@resources.
|
308
|
+
def method_missing(m, *args, &block)
|
309
|
+
if @resources.respond_to?(m)
|
310
|
+
@resources.send(m,*args, &block)
|
311
|
+
else
|
312
|
+
super
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
def respond_to_missing?(m, _)
|
317
|
+
@resources.respond_to?(m)
|
318
|
+
end
|
319
|
+
|
320
|
+
def acts_like_array?
|
310
321
|
end
|
311
322
|
end
|
312
323
|
end
|
data/lib/api-resource/version.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative 'blog_api'
|
2
|
+
|
3
|
+
RSpec.describe ApiResource::ResourceCollection do
|
4
|
+
|
5
|
+
describe 'duck types array' do
|
6
|
+
|
7
|
+
subject { ApiResource::ResourceCollection.new(%w(1 2 3 29), nil, String) }
|
8
|
+
|
9
|
+
it { is_expected.to respond_to :acts_like_array? }
|
10
|
+
it { is_expected.to match_array %w(1 2 3 29) }
|
11
|
+
it { is_expected.to have_attributes length: 4 }
|
12
|
+
end
|
13
|
+
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.
|
4
|
+
version: 0.7.6
|
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-
|
11
|
+
date: 2015-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple-hmac
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- lib/api-resource/version.rb
|
138
138
|
- spec/blog_api.rb
|
139
139
|
- spec/model_name_spec.rb
|
140
|
+
- spec/resource_collection_spec.rb
|
140
141
|
- spec/resource_path_spec.rb
|
141
142
|
- spec/resource_spec.rb
|
142
143
|
- spec/spec_helper.rb
|
@@ -168,6 +169,7 @@ summary: A lightweight REST API access library.
|
|
168
169
|
test_files:
|
169
170
|
- spec/blog_api.rb
|
170
171
|
- spec/model_name_spec.rb
|
172
|
+
- spec/resource_collection_spec.rb
|
171
173
|
- spec/resource_path_spec.rb
|
172
174
|
- spec/resource_spec.rb
|
173
175
|
- spec/spec_helper.rb
|