spyke 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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