api-resource 0.7.3 → 0.7.4
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 +13 -4
- data/lib/api-resource/version.rb +1 -1
- data/spec/model_name_spec.rb +14 -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: ccfd8a47727dc34572b2a7e21a365845b8cdc7da
|
4
|
+
data.tar.gz: 902d4b27a357406e429e91bce3ac3b615f38e2d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4630ec401fdf47c349a6a1284a8c091d59e8601a8d27c1932a5535743263d763a570dee18d2f8047a49ba031a5177988caf2de5e19314af13fa05e642004c301
|
7
|
+
data.tar.gz: cb324ec9e9dee294d0d52939cccdee454961c4be0d5b3f8dbb0e329f4a0a29529c383224fbc21a0c9bb62355a36e99bcb1110082658f92ffcc1cbdb5e0fab15d
|
@@ -89,6 +89,11 @@ module ApiResource
|
|
89
89
|
create_resource_collection(result)
|
90
90
|
end
|
91
91
|
|
92
|
+
def self.destroy!(id)
|
93
|
+
client(:delete, params, resource_path, id)
|
94
|
+
self
|
95
|
+
end
|
96
|
+
|
92
97
|
def save!(options={})
|
93
98
|
submit_resource(resource_path, true, options[:id_attr])
|
94
99
|
self
|
@@ -161,9 +166,14 @@ module ApiResource
|
|
161
166
|
def self.method_missing(m, *args, &_)
|
162
167
|
case (m)
|
163
168
|
when /^by_(.+)/
|
164
|
-
|
169
|
+
my_resource_path = build_path($1.pluralize, args[0], self.resource_path)
|
170
|
+
my_model_name = self.model_name
|
165
171
|
Class.new(self) do
|
166
|
-
self.resource_path =
|
172
|
+
self.resource_path = my_resource_path
|
173
|
+
@model_name = my_model_name
|
174
|
+
def self.model_name
|
175
|
+
@model_name
|
176
|
+
end
|
167
177
|
end
|
168
178
|
else
|
169
179
|
super
|
@@ -180,7 +190,6 @@ module ApiResource
|
|
180
190
|
end
|
181
191
|
end
|
182
192
|
|
183
|
-
|
184
193
|
def self.create_resource_collection(result)
|
185
194
|
json = JSON.parse(result)
|
186
195
|
ResourceCollection.new(json['data'], json['meta'], self)
|
@@ -193,7 +202,7 @@ module ApiResource
|
|
193
202
|
end
|
194
203
|
|
195
204
|
def submit_resource(path, save_attrs=false, id_attr=nil, method=nil)
|
196
|
-
raise ResourceError unless valid?
|
205
|
+
raise ResourceError unless valid? || method==:delete
|
197
206
|
id_attr = id_attr || default_id_attr
|
198
207
|
path = [path]
|
199
208
|
attrs = attributes
|
data/lib/api-resource/version.rb
CHANGED
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative 'blog_api'
|
2
|
+
|
3
|
+
RSpec.describe ApiResource::Resource do
|
4
|
+
|
5
|
+
class MyResource < ApiResource::Resource; end
|
6
|
+
|
7
|
+
it 'keeps model name' do
|
8
|
+
expect(MyResource.by_foo(3).model_name).to eq(MyResource.model_name)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'recursively keeps model name' do
|
12
|
+
expect(MyResource.by_foo(3).by_bar('sdfasd').by_baz(5).model_name).to eq(MyResource.model_name)
|
13
|
+
end
|
14
|
+
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.4
|
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-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple-hmac
|
@@ -136,6 +136,7 @@ files:
|
|
136
136
|
- lib/api-resource/resource.rb
|
137
137
|
- lib/api-resource/version.rb
|
138
138
|
- spec/blog_api.rb
|
139
|
+
- spec/model_name_spec.rb
|
139
140
|
- spec/resource_path_spec.rb
|
140
141
|
- spec/resource_spec.rb
|
141
142
|
- spec/spec_helper.rb
|
@@ -166,6 +167,7 @@ specification_version: 4
|
|
166
167
|
summary: A lightweight REST API access library.
|
167
168
|
test_files:
|
168
169
|
- spec/blog_api.rb
|
170
|
+
- spec/model_name_spec.rb
|
169
171
|
- spec/resource_path_spec.rb
|
170
172
|
- spec/resource_spec.rb
|
171
173
|
- spec/spec_helper.rb
|