hyperclient 0.3.2 → 0.4.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: e2f8dcf578c3841e548076c5a1433d0fa7eb47f1
4
- data.tar.gz: b347af17c5a9d7d00ac5a5e92605eb95b4c35842
3
+ metadata.gz: b87fcd7112fdf8f2cbb75b3e70d9eb63ed7c4d93
4
+ data.tar.gz: fbbb826d826c93579534fbe028d3669192f524f7
5
5
  SHA512:
6
- metadata.gz: d3f7074ba0269e8145fc748952afdb8f4749bb5ae8b1fca2ffe9382c7505056feba1aec934a0dccd297d6743bbddb726c3fa4afa381d640a0374be81aece1187
7
- data.tar.gz: 70db877e65d8807d6d6872e48d43034f0e5ca3cce60fc1859688ad214f4e39e2cddd89e3ce8270a565eb40b82642f969475f3874991015c95c4ff621db9107e0
6
+ metadata.gz: 05065d18d4c25d4c73c9e3023e3ab1710cb41a8750ee9ad4fef18deb69e08949492a2b67ad0a590170f39162c5ff8888b24b72b876d440c12ca4e1fdf98fd4fa
7
+ data.tar.gz: 33213521c2e8443cc70e4b48f6327dd83a58c9f016266d2af27f0774cd980b84bb69e98ad1733ffeadd446073a31014bbb2a822c81234d73eda345c247a3af81
data/Gemfile.lock CHANGED
@@ -1,77 +1,93 @@
1
1
  GIT
2
2
  remote: git://github.com/rubyworks/yard-tomdoc
3
- revision: caee83fb8b068fef81068e00dc8d1245354536f1
3
+ revision: e4b09dcd574718bda91d0f956b4dd83246bda273
4
4
  specs:
5
- yard-tomdoc (0.5.0)
6
- tomparse
5
+ yard-tomdoc (0.7.1)
6
+ tomparse (>= 0.4.0)
7
7
  yard
8
8
 
9
9
  PATH
10
10
  remote: .
11
11
  specs:
12
- hyperclient (0.3.2)
12
+ hyperclient (0.4.0)
13
13
  faraday (~> 0.8)
14
14
  faraday_middleware (~> 0.9)
15
+ futuroscope (>= 0.0.10)
15
16
  net-http-digest_auth (~> 1.2)
16
17
  uri_template (~> 0.5)
17
18
 
18
19
  GEM
19
20
  remote: https://rubygems.org/
20
21
  specs:
21
- addressable (2.2.8)
22
- ansi (1.4.2)
23
- coderay (1.0.6)
22
+ addressable (2.3.4)
23
+ ansi (1.4.3)
24
+ coderay (1.0.9)
24
25
  colorize (0.5.8)
25
- crack (0.3.1)
26
- faraday (0.8.8)
26
+ crack (0.3.2)
27
+ faraday (0.8.9)
27
28
  multipart-post (~> 1.2.0)
28
29
  faraday_middleware (0.9.0)
29
30
  faraday (>= 0.7.4, < 0.9)
30
- ffi (1.0.11)
31
- gherkin-ruby (0.2.1)
31
+ ffi (1.8.1)
32
+ formatador (0.2.4)
33
+ futuroscope (0.1.6)
34
+ gherkin-ruby (0.3.0)
32
35
  growl (1.0.3)
33
- guard (1.0.3)
34
- ffi (>= 0.5.0)
36
+ guard (1.8.0)
37
+ formatador (>= 0.2.4)
38
+ listen (>= 1.0.0)
39
+ lumberjack (>= 1.0.2)
40
+ pry (>= 0.9.10)
35
41
  thor (>= 0.14.6)
36
42
  guard-minitest (0.5.0)
37
43
  guard (>= 0.4)
38
- guard-spinach (0.0.1.1)
39
- guard
44
+ guard-spinach (0.0.2)
45
+ guard (>= 1.1)
40
46
  spinach
47
+ listen (1.0.3)
48
+ rb-fsevent (>= 0.9.3)
49
+ rb-inotify (>= 0.9)
50
+ rb-kqueue (>= 0.2)
51
+ lumberjack (1.0.3)
41
52
  metaclass (0.0.1)
42
- method_source (0.7.1)
53
+ method_source (0.8.1)
43
54
  minitest (3.4.0)
44
- mocha (0.13.1)
55
+ mocha (0.13.3)
45
56
  metaclass (~> 0.0.1)
46
- multi_json (1.3.6)
57
+ multi_json (1.7.2)
47
58
  multipart-post (1.2.0)
48
- net-http-digest_auth (1.2.1)
49
- pry (0.9.9.6)
59
+ net-http-digest_auth (1.4)
60
+ pry (0.9.12.1)
50
61
  coderay (~> 1.0.5)
51
- method_source (~> 0.7.1)
52
- slop (>= 2.4.4, < 3)
53
- rack (1.4.1)
62
+ method_source (~> 0.8)
63
+ slop (~> 3.4)
64
+ rack (1.5.2)
54
65
  rack-test (0.6.2)
55
66
  rack (>= 1.0)
56
- rake (0.9.2.2)
57
- redcarpet (2.1.1)
58
- simplecov (0.6.4)
67
+ rake (10.0.4)
68
+ rb-fsevent (0.9.3)
69
+ rb-inotify (0.9.0)
70
+ ffi (>= 0.5.0)
71
+ rb-kqueue (0.2.0)
72
+ ffi (>= 0.5.0)
73
+ redcarpet (2.2.2)
74
+ simplecov (0.7.1)
59
75
  multi_json (~> 1.0)
60
- simplecov-html (~> 0.5.3)
61
- simplecov-html (0.5.3)
62
- slop (2.4.4)
63
- spinach (0.7.0)
64
- colorize
65
- gherkin-ruby (~> 0.2.0)
66
- thor (0.15.2)
67
- tomparse (0.2.1)
68
- turn (0.9.5)
76
+ simplecov-html (~> 0.7.1)
77
+ simplecov-html (0.7.1)
78
+ slop (3.4.4)
79
+ spinach (0.8.2)
80
+ colorize (= 0.5.8)
81
+ gherkin-ruby (~> 0.3.0)
82
+ thor (0.18.1)
83
+ tomparse (0.4.2)
84
+ turn (0.9.6)
69
85
  ansi
70
- uri_template (0.5.1)
71
- webmock (1.8.7)
86
+ uri_template (0.7.0)
87
+ webmock (1.11.0)
72
88
  addressable (>= 2.2.7)
73
- crack (>= 0.1.7)
74
- yard (0.8.2.1)
89
+ crack (>= 0.3.2)
90
+ yard (0.8.6.1)
75
91
 
76
92
  PLATFORMS
77
93
  ruby
data/hyperclient.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.version = Hyperclient::VERSION
16
16
 
17
17
  gem.add_dependency 'faraday', '~> 0.8'
18
+ gem.add_dependency 'futuroscope', '>= 0.0.10'
18
19
  gem.add_dependency 'faraday_middleware', '~> 0.9'
19
20
  gem.add_dependency 'uri_template', '~> 0.5'
20
21
  gem.add_dependency 'net-http-digest_auth', '~> 1.2'
@@ -80,4 +80,6 @@ module Faraday
80
80
  end
81
81
 
82
82
  # Register the middleware as a Request middleware with the name :digest
83
- Faraday.register_middleware :request, digest: Faraday::Request::DigestAuth
83
+ registry = [Faraday, Faraday::Middleware].find{|mod| mod.respond_to?(:register_middleware)}
84
+ raise "Could not find method register_middleware on Faraday or Faraday::Middleware" unless registry
85
+ registry.register_middleware :request, digest: Faraday::Request::DigestAuth
@@ -1,5 +1,6 @@
1
1
  require 'hyperclient/resource'
2
2
  require 'uri_template'
3
+ require 'futuroscope'
3
4
 
4
5
  module Hyperclient
5
6
  # Internal: The Link is used to let a Resource interact with the API.
@@ -100,31 +101,45 @@ module Hyperclient
100
101
  end
101
102
 
102
103
  def get
103
- connection.get(url)
104
+ Futuroscope::Future.new{
105
+ connection.get(url)
106
+ }
104
107
  end
105
108
 
106
109
  def options
107
- connection.run_request(:options, url, nil, nil)
110
+ Futuroscope::Future.new{
111
+ connection.run_request(:options, url, nil, nil)
112
+ }
108
113
  end
109
114
 
110
115
  def head
111
- connection.head(url)
116
+ Futuroscope::Future.new{
117
+ connection.head(url)
118
+ }
112
119
  end
113
120
 
114
121
  def delete
115
- connection.delete(url)
122
+ Futuroscope::Future.new{
123
+ connection.delete(url)
124
+ }
116
125
  end
117
126
 
118
127
  def post(params = {})
119
- connection.post(url, params)
128
+ Futuroscope::Future.new{
129
+ connection.post(url, params)
130
+ }
120
131
  end
121
132
 
122
133
  def put(params = {})
123
- connection.put(url, params)
134
+ Futuroscope::Future.new{
135
+ connection.put(url, params)
136
+ }
124
137
  end
125
138
 
126
139
  def patch(params = {})
127
- connection.patch(url, params)
140
+ Futuroscope::Future.new{
141
+ connection.patch(url, params)
142
+ }
128
143
  end
129
144
 
130
145
  def inspect
@@ -1,3 +1,3 @@
1
1
  module Hyperclient
2
- VERSION = '0.3.2'
2
+ VERSION = '0.4.0'
3
3
  end
@@ -60,8 +60,7 @@ module Hyperclient
60
60
 
61
61
  it 'raises if no uri variables are given' do
62
62
  link = Link.new({'href' => '/orders{?id}', 'templated' => true}, entry_point)
63
-
64
- proc { link.resource }.must_raise MissingURITemplateVariablesException
63
+ lambda { link.expand }.must_raise ArgumentError
65
64
  end
66
65
  end
67
66
 
@@ -119,7 +118,7 @@ module Hyperclient
119
118
  link = Link.new({'href' => '/productions/1'}, entry_point)
120
119
 
121
120
  entry_point.connection.expects(:get).with('/productions/1')
122
- link.get
121
+ link.get.inspect
123
122
  end
124
123
  end
125
124
 
@@ -128,7 +127,7 @@ module Hyperclient
128
127
  link = Link.new({'href' => '/productions/1'}, entry_point)
129
128
 
130
129
  entry_point.connection.expects(:run_request).with(:options, '/productions/1', nil, nil)
131
- link.options
130
+ link.options.inspect
132
131
  end
133
132
  end
134
133
 
@@ -137,7 +136,7 @@ module Hyperclient
137
136
  link = Link.new({'href' => '/productions/1'}, entry_point)
138
137
 
139
138
  entry_point.connection.expects(:head).with('/productions/1')
140
- link.head
139
+ link.head.inspect
141
140
  end
142
141
  end
143
142
 
@@ -146,7 +145,7 @@ module Hyperclient
146
145
  link = Link.new({'href' => '/productions/1'}, entry_point)
147
146
 
148
147
  entry_point.connection.expects(:delete).with('/productions/1')
149
- link.delete
148
+ link.delete.inspect
150
149
  end
151
150
  end
152
151
 
@@ -155,12 +154,12 @@ module Hyperclient
155
154
 
156
155
  it 'sends a POST request with the link url and params' do
157
156
  entry_point.connection.expects(:post).with('/productions/1', {'foo' => 'bar'})
158
- link.post({'foo' => 'bar'})
157
+ link.post({'foo' => 'bar'}).inspect
159
158
  end
160
159
 
161
160
  it 'defaults params to an empty hash' do
162
161
  entry_point.connection.expects(:post).with('/productions/1', {})
163
- link.post
162
+ link.post.inspect
164
163
  end
165
164
  end
166
165
 
@@ -169,12 +168,12 @@ module Hyperclient
169
168
 
170
169
  it 'sends a PUT request with the link url and params' do
171
170
  entry_point.connection.expects(:put).with('/productions/1', {'foo' => 'bar'})
172
- link.put({'foo' => 'bar'})
171
+ link.put({'foo' => 'bar'}).inspect
173
172
  end
174
173
 
175
174
  it 'defaults params to an empty hash' do
176
175
  entry_point.connection.expects(:put).with('/productions/1', {})
177
- link.put
176
+ link.put.inspect
178
177
  end
179
178
  end
180
179
 
@@ -183,12 +182,12 @@ module Hyperclient
183
182
 
184
183
  it 'sends a PATCH request with the link url and params' do
185
184
  entry_point.connection.expects(:patch).with('/productions/1', {'foo' => 'bar'})
186
- link.patch({'foo' => 'bar'})
185
+ link.patch({'foo' => 'bar'}).inspect
187
186
  end
188
187
 
189
188
  it 'defaults params to an empty hash' do
190
189
  entry_point.connection.expects(:patch).with('/productions/1', {})
191
- link.patch
190
+ link.patch.inspect
192
191
  end
193
192
  end
194
193
 
data/test/test_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ $: << 'lib'
1
2
  gem 'minitest'
2
3
 
3
4
  require 'minitest/spec'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oriol Gual
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-20 00:00:00.000000000 Z
11
+ date: 2014-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.8'
27
+ - !ruby/object:Gem::Dependency
28
+ name: futuroscope
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.10
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.10
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: faraday_middleware
29
43
  requirement: !ruby/object:Gem::Requirement