frenetic 1.0.0 → 2.0.0
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/.travis.yml +1 -1
- data/README.md +9 -0
- data/Rakefile +4 -0
- data/frenetic.gemspec +1 -0
- data/lib/frenetic.rb +1 -0
- data/lib/frenetic/behaviors.rb +6 -0
- data/lib/frenetic/behaviors/alternate_string_identifier.rb +56 -0
- data/lib/frenetic/concerns/hal_linked.rb +4 -3
- data/lib/frenetic/concerns/member_rest_methods.rb +26 -4
- data/lib/frenetic/concerns/persistence.rb +36 -0
- data/lib/frenetic/errors.rb +68 -7
- data/lib/frenetic/resource.rb +14 -7
- data/lib/frenetic/resource_mockery.rb +17 -2
- data/lib/frenetic/version.rb +1 -1
- data/spec/behaviors/alternate_string_identifier_spec.rb +44 -0
- data/spec/concerns/member_rest_methods_spec.rb +85 -2
- data/spec/concerns/persistence_spec.rb +95 -0
- data/spec/fixtures/test_api_requests.rb +70 -16
- data/spec/frenetic_spec.rb +172 -186
- data/spec/middleware/hal_json_spec.rb +1 -1
- data/spec/resource_mockery_spec.rb +13 -4
- data/tasks/rspec.rake +7 -0
- data/tasks/rubocop.rake +2 -0
- metadata +25 -2
@@ -11,6 +11,8 @@ describe Frenetic::ResourceMockery do
|
|
11
11
|
Class.new(my_temp_resource) do
|
12
12
|
def self.default_attributes
|
13
13
|
{
|
14
|
+
id: 1,
|
15
|
+
price: 0.0,
|
14
16
|
qux: 'qux',
|
15
17
|
_embedded: {
|
16
18
|
embedded_resource: {
|
@@ -24,7 +26,9 @@ describe Frenetic::ResourceMockery do
|
|
24
26
|
|
25
27
|
let(:params) do
|
26
28
|
{
|
27
|
-
|
29
|
+
id: '1',
|
30
|
+
foo: 'bar',
|
31
|
+
price: '0.0',
|
28
32
|
bar: 'baz',
|
29
33
|
_embedded: {
|
30
34
|
embedded_resource: {
|
@@ -52,7 +56,10 @@ describe Frenetic::ResourceMockery do
|
|
52
56
|
subject { super().properties }
|
53
57
|
|
54
58
|
it 'returns a hash of available properties' do
|
55
|
-
expect(subject).to include '
|
59
|
+
expect(subject).to include 'id' => 'fixnum'
|
60
|
+
expect(subject).to include 'price' => 'float'
|
61
|
+
expect(subject).to include 'foo' => 'string'
|
62
|
+
expect(subject).to include 'foo' => 'string'
|
56
63
|
expect(subject).to include 'bar' => 'string'
|
57
64
|
end
|
58
65
|
end
|
@@ -60,8 +67,10 @@ describe Frenetic::ResourceMockery do
|
|
60
67
|
describe '#attributes' do
|
61
68
|
subject { super().attributes }
|
62
69
|
|
63
|
-
it 'returns a hash of the resources attributes' do
|
64
|
-
expect(subject).to include '
|
70
|
+
it 'returns a hash of the resources type-casted attributes' do
|
71
|
+
expect(subject).to include 'id' => 1
|
72
|
+
expect(subject).to include 'price' => 0.0
|
73
|
+
expect(subject).to include 'foo' => 'bar'
|
65
74
|
expect(subject).to include 'bar' => 'baz'
|
66
75
|
expect(subject).to include 'qux' => 'qux'
|
67
76
|
expect(subject['_embedded']['embedded_resource']).to include 'plugh' => 'xyzzy'
|
data/tasks/rspec.rake
ADDED
data/tasks/rubocop.rake
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frenetic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Derek Lindahl
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: 1.0.2
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.29.1
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 0.29.1
|
167
181
|
description: An opinionated Ruby-based Hypermedia API client.
|
168
182
|
email:
|
169
183
|
- dlindahl@customink.com
|
@@ -188,10 +202,13 @@ files:
|
|
188
202
|
- gemfiles/faraday_09.gemfile
|
189
203
|
- gemfiles/faraday_09.gemfile.lock
|
190
204
|
- lib/frenetic.rb
|
205
|
+
- lib/frenetic/behaviors.rb
|
206
|
+
- lib/frenetic/behaviors/alternate_string_identifier.rb
|
191
207
|
- lib/frenetic/briefly_memoizable.rb
|
192
208
|
- lib/frenetic/concerns/collection_rest_methods.rb
|
193
209
|
- lib/frenetic/concerns/hal_linked.rb
|
194
210
|
- lib/frenetic/concerns/member_rest_methods.rb
|
211
|
+
- lib/frenetic/concerns/persistence.rb
|
195
212
|
- lib/frenetic/concerns/structured.rb
|
196
213
|
- lib/frenetic/connection.rb
|
197
214
|
- lib/frenetic/errors.rb
|
@@ -202,9 +219,11 @@ files:
|
|
202
219
|
- lib/frenetic/resource_collection.rb
|
203
220
|
- lib/frenetic/resource_mockery.rb
|
204
221
|
- lib/frenetic/version.rb
|
222
|
+
- spec/behaviors/alternate_string_identifier_spec.rb
|
205
223
|
- spec/briefly_memoizable_spec.rb
|
206
224
|
- spec/concerns/hal_linked_spec.rb
|
207
225
|
- spec/concerns/member_rest_methods_spec.rb
|
226
|
+
- spec/concerns/persistence_spec.rb
|
208
227
|
- spec/concerns/structured_spec.rb
|
209
228
|
- spec/connection_spec.rb
|
210
229
|
- spec/fixtures/test_api_requests.rb
|
@@ -220,6 +239,8 @@ files:
|
|
220
239
|
- spec/support/rspec.rb
|
221
240
|
- spec/support/timecop.rb
|
222
241
|
- spec/support/webmock.rb
|
242
|
+
- tasks/rspec.rake
|
243
|
+
- tasks/rubocop.rake
|
223
244
|
homepage: http://dlindahl.github.com/frenetic/
|
224
245
|
licenses: []
|
225
246
|
metadata: {}
|
@@ -245,9 +266,11 @@ specification_version: 4
|
|
245
266
|
summary: Here lies a Ruby-based Hypermedia API client that expects HAL+JSON and makes
|
246
267
|
a lot of assumptions about your API.
|
247
268
|
test_files:
|
269
|
+
- spec/behaviors/alternate_string_identifier_spec.rb
|
248
270
|
- spec/briefly_memoizable_spec.rb
|
249
271
|
- spec/concerns/hal_linked_spec.rb
|
250
272
|
- spec/concerns/member_rest_methods_spec.rb
|
273
|
+
- spec/concerns/persistence_spec.rb
|
251
274
|
- spec/concerns/structured_spec.rb
|
252
275
|
- spec/connection_spec.rb
|
253
276
|
- spec/fixtures/test_api_requests.rb
|