hyperclient 0.0.7 → 0.0.8
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.
- data/lib/hyperclient.rb +15 -8
- data/lib/hyperclient/version.rb +1 -1
- data/test/hyperclient_test.rb +5 -5
- metadata +3 -3
data/lib/hyperclient.rb
CHANGED
@@ -35,21 +35,28 @@ module Hyperclient
|
|
35
35
|
module ClassMethods
|
36
36
|
# Public: Set the entry point of your API.
|
37
37
|
#
|
38
|
+
# url - A block to pass the API url.
|
39
|
+
#
|
38
40
|
# Returns nothing.
|
39
|
-
def entry_point(url)
|
40
|
-
Resource.entry_point = url
|
41
|
+
def entry_point(&url)
|
42
|
+
Resource.entry_point = url.call
|
41
43
|
end
|
42
44
|
|
43
45
|
# Public: Sets the authentication options for your API client.
|
44
46
|
#
|
45
|
-
#
|
46
|
-
#
|
47
|
-
#
|
48
|
-
#
|
47
|
+
# options - A block used to pass authentication options. Needed data is:
|
48
|
+
# type - A String or Symbol with the authentication method. Can be
|
49
|
+
# either :basic or :digest.
|
50
|
+
# user - A String with the user.
|
51
|
+
# password - A String with the password.
|
52
|
+
#
|
53
|
+
# Example:
|
54
|
+
# auth{ {type: :digest, user: 'user', password: 'secret'} }
|
49
55
|
#
|
50
56
|
# Returns nothing.
|
51
|
-
def auth(
|
52
|
-
|
57
|
+
def auth(&options)
|
58
|
+
options = options.call
|
59
|
+
http_options({auth: {type: options[:type], credentials: [options[:user], options[:password]]}})
|
53
60
|
end
|
54
61
|
|
55
62
|
# Public: Sets the HTTP options that will be used to initialize
|
data/lib/hyperclient/version.rb
CHANGED
data/test/hyperclient_test.rb
CHANGED
@@ -10,7 +10,7 @@ describe Hyperclient do
|
|
10
10
|
|
11
11
|
describe 'entry point' do
|
12
12
|
it 'sets the entry point for Hyperclient::Resource' do
|
13
|
-
api.entry_point 'http://my.api.org'
|
13
|
+
api.entry_point {'http://my.api.org'}
|
14
14
|
|
15
15
|
Hyperclient::Resource.new('/').url.must_include 'http://my.api.org'
|
16
16
|
end
|
@@ -18,7 +18,7 @@ describe Hyperclient do
|
|
18
18
|
|
19
19
|
describe 'entry' do
|
20
20
|
before do
|
21
|
-
api.entry_point 'http://my.api.org'
|
21
|
+
api.entry_point {'http://my.api.org'}
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'initializes a Resource at the entry point' do
|
@@ -26,7 +26,7 @@ describe Hyperclient do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'also works with entry points that are not in the root' do
|
29
|
-
api.entry_point 'http://my.api.org/api'
|
29
|
+
api.entry_point {'http://my.api.org/api'}
|
30
30
|
api.new.entry.url.must_equal 'http://my.api.org/api'
|
31
31
|
end
|
32
32
|
|
@@ -37,13 +37,13 @@ describe Hyperclient do
|
|
37
37
|
|
38
38
|
describe 'auth' do
|
39
39
|
it 'sets authentication type' do
|
40
|
-
api.auth
|
40
|
+
api.auth{ {type: :digest, user: nil, password: nil} }
|
41
41
|
|
42
42
|
api.http_options[:http][:auth][:type].must_equal :digest
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'sets the authentication credentials' do
|
46
|
-
api.auth
|
46
|
+
api.auth{ {type: :digest, user: 'user', password: 'secret'} }
|
47
47
|
|
48
48
|
api.http_options[:http][:auth][:credentials].must_include 'user'
|
49
49
|
api.http_options[:http][:auth][:credentials].must_include 'secret'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyperclient
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -126,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
126
126
|
version: '0'
|
127
127
|
segments:
|
128
128
|
- 0
|
129
|
-
hash:
|
129
|
+
hash: 3332679930856512053
|
130
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
131
|
none: false
|
132
132
|
requirements:
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
version: '0'
|
136
136
|
segments:
|
137
137
|
- 0
|
138
|
-
hash:
|
138
|
+
hash: 3332679930856512053
|
139
139
|
requirements: []
|
140
140
|
rubyforge_project:
|
141
141
|
rubygems_version: 1.8.19
|