frenetic 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -67,7 +67,7 @@ describe Frenetic::Middleware::HalJson do
67
67
  end
68
68
  end
69
69
 
70
- context 'cause by the client' do
70
+ context 'caused by an unknown resource' do
71
71
  let(:status) { 404 }
72
72
  let(:error) do
73
73
  { 'status' => status.to_s, error:'404 Not Found' }.to_json
@@ -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
- foo: 1,
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 'foo' => 'fixnum'
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 'foo' => 1
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'
@@ -0,0 +1,7 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new
4
+
5
+ RSpec::Core::RakeTask.new(:rcov) do |task|
6
+ task.rcov = true
7
+ end
@@ -0,0 +1,2 @@
1
+ require 'rubocop/rake_task'
2
+ RuboCop::RakeTask.new
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: 1.0.0
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-03-27 00:00:00.000000000 Z
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