api-resource 0.7.3 → 0.7.4
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 +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
|