spyke 1.1.2 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4e5a33fdcfc000148eb3e3433b01207a31b007db
4
- data.tar.gz: 443a50064d6ed572b4783037a09b6ae2ceaee48e
3
+ metadata.gz: 966940526b348b3fbf28422233a7e512320cda54
4
+ data.tar.gz: 9ad09f29e1ed32fe872c2765730f367f670bcefa
5
5
  SHA512:
6
- metadata.gz: 5219817c71603843bd3e0219f3a9b3fa32e23f96d88f1711de262cd766966ce874febc871a731628c10a36e5b107fb2b7d51a53d56b8af76231d9a1fe63f71b8
7
- data.tar.gz: 5808dc0e274e18b6287ce0053ec351caba0c51b1292a395efb9b6ef449744af3886642d73d169dd3cb883fd5272da2ab063382bcd62bbb2be3fe25c7613c9ec5
6
+ metadata.gz: 0977ba9818ab15ac582baf91f24e1970da2c44da2b3de6834a3d3b7d9931ac4a9844d418227b5923f0885656311b04a1d0847d44a2d3f8f15d70d50d2fdb4165
7
+ data.tar.gz: b5032eda8fce1dd746ea94f1ef5dced990fd5f16877654b2631e2a2d334bfd6eae8d6951c645f34a5bf1567d204a36ef906b3209f9284bd4bc1cfe75d0fcf800
@@ -0,0 +1,4 @@
1
+ notifications:
2
+ email: false
3
+ rvm:
4
+ - 2.1.5
data/README.md CHANGED
@@ -4,6 +4,12 @@
4
4
  <img src="http://upload.wikimedia.org/wikipedia/en/thumb/2/21/Spyke.jpg/392px-Spyke.jpg" width="20%" />
5
5
  <br/>
6
6
  Interact with remote <strong>REST services</strong> in an <strong>ActiveRecord-like</strong> manner.
7
+ <br /><br />
8
+ <a href="http://badge.fury.io/rb/spyke"><img src="https://badge.fury.io/rb/spyke.svg" alt="Gem Version" height="18"></a>
9
+ <a href="https://codeclimate.com/github/balvig/spyke"><img src="https://codeclimate.com/github/balvig/spyke/badges/gpa.svg" /></a>
10
+ <a href='https://gemnasium.com/balvig/spyke'><img src="http://img.shields.io/gemnasium/balvig/spyke.svg" /></a>
11
+ <a href='https://coveralls.io/r/balvig/spyke?branch=master'><img src='https://coveralls.io/repos/balvig/spyke/badge.png?branch=master' /></a>
12
+ <a href="https://travis-ci.org/balvig/spyke"><img src="https://travis-ci.org/balvig/spyke.svg?branch=master" /></a>
7
13
  </p>
8
14
 
9
15
  ---
@@ -66,6 +72,9 @@ end
66
72
 
67
73
  user = User.find(3) # => GET http://api.com/users/3
68
74
  user.posts # => find embedded in user or GET http://api.com/users/3/posts
75
+ user = User.create(name: 'Bob') # => POST http://api.com/users - { user: { name: 'Bob' } }
76
+ user.update_attributes(name: 'Alice') # => PUT http://api.com/users/3 - { user: { name: 'Alice' } }
77
+ user.destroy # => DELETE http://api.com/users/3
69
78
  ```
70
79
 
71
80
  ### Custom URIs
@@ -0,0 +1,3 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.1.5
@@ -1,3 +1,4 @@
1
+ require 'active_support'
1
2
  require 'active_support/core_ext'
2
3
  require 'spyke/base'
3
4
  require 'spyke/middleware/rails_logger' if defined?(Rails)
@@ -77,6 +77,11 @@ module Spyke
77
77
  delete
78
78
  end
79
79
 
80
+ def update_attributes(new_attributes)
81
+ self.attributes = new_attributes
82
+ save
83
+ end
84
+
80
85
  def reload
81
86
  self.attributes = self.class.find(id).attributes
82
87
  end
@@ -1,3 +1,3 @@
1
1
  module Spyke
2
- VERSION = '1.1.2'
2
+ VERSION = '1.2.0'
3
3
  end
@@ -21,16 +21,17 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'activesupport', '>= 3.0.0', '< 5.0'
22
22
  spec.add_dependency 'activemodel', '>= 3.0.0', '< 5.0'
23
23
  spec.add_dependency 'faraday', '>= 0.8.0', '< 2.0'
24
- spec.add_dependency "faraday_middleware", '>= 0.9.1', '< 2.0'
24
+ spec.add_dependency 'faraday_middleware', '>= 0.9.1', '< 2.0'
25
25
  spec.add_dependency 'uri_template', '>= 0.7.0', '< 2.0'
26
26
 
27
- spec.add_development_dependency "bundler", "~> 1.6"
28
- spec.add_development_dependency "minitest"
29
- spec.add_development_dependency "minitest-line"
30
- spec.add_development_dependency "minitest-reporters"
31
- spec.add_development_dependency "mocha"
32
- spec.add_development_dependency "multi_json"
33
- spec.add_development_dependency "pry"
34
- spec.add_development_dependency "rake"
35
- spec.add_development_dependency "webmock"
27
+ spec.add_development_dependency 'bundler', '~> 1.6'
28
+ spec.add_development_dependency 'coveralls', '~> 0.7'
29
+ spec.add_development_dependency 'minitest'
30
+ spec.add_development_dependency 'minitest-line'
31
+ spec.add_development_dependency 'minitest-reporters'
32
+ spec.add_development_dependency 'mocha'
33
+ spec.add_development_dependency 'multi_json'
34
+ spec.add_development_dependency 'pry'
35
+ spec.add_development_dependency 'rake'
36
+ spec.add_development_dependency 'webmock'
36
37
  end
@@ -50,7 +50,6 @@ module Spyke
50
50
  end
51
51
 
52
52
  def test_save_persisted_record
53
- stub_request(:put, /.*/)
54
53
  endpoint = stub_request(:put, 'http://sushi.com/recipes/1').with(body: { recipe: { title: 'Sushi' } }).to_return_json(result: { id: 1, title: 'Sushi (saved)' })
55
54
 
56
55
  recipe = Recipe.new(id: 1, title: 'Sashimi')
@@ -61,6 +60,16 @@ module Spyke
61
60
  assert_requested endpoint
62
61
  end
63
62
 
63
+ def test_update_attributes
64
+ endpoint = stub_request(:put, 'http://sushi.com/recipes/1').with(body: { recipe: { title: 'Sushi' } }).to_return_json(result: { id: 1, title: 'Sushi (saved)' })
65
+
66
+ recipe = Recipe.new(id: 1, title: 'Sashimi')
67
+ recipe.update_attributes(title: 'Sushi')
68
+
69
+ assert_equal 'Sushi (saved)', recipe.title
70
+ assert_requested endpoint
71
+ end
72
+
64
73
  def test_create
65
74
  endpoint = stub_request(:post, 'http://sushi.com/recipes').with(body: { recipe: { title: 'Sushi' } }).to_return_json(result: { id: 1, title: 'Sushi' })
66
75
 
@@ -1,3 +1,7 @@
1
+ # Coverage
2
+ require 'coveralls'
3
+ Coveralls.wear!
4
+
1
5
  require 'spyke'
2
6
  require 'faraday_middleware'
3
7
  require 'minitest/autorun'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spyke
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Balvig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-04 00:00:00.000000000 Z
11
+ date: 2014-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -124,6 +124,20 @@ dependencies:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '1.6'
127
+ - !ruby/object:Gem::Dependency
128
+ name: coveralls
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '0.7'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '0.7'
127
141
  - !ruby/object:Gem::Dependency
128
142
  name: minitest
129
143
  requirement: !ruby/object:Gem::Requirement
@@ -244,10 +258,12 @@ extensions: []
244
258
  extra_rdoc_files: []
245
259
  files:
246
260
  - ".gitignore"
261
+ - ".travis.yml"
247
262
  - Gemfile
248
263
  - LICENSE.txt
249
264
  - README.md
250
265
  - Rakefile
266
+ - circle.yml
251
267
  - lib/spyke.rb
252
268
  - lib/spyke/associations.rb
253
269
  - lib/spyke/associations/association.rb