dnsimple-ruby 1.6.0 → 1.7.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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/dnsimple/client.rb +6 -2
- data/lib/dnsimple/version.rb +1 -1
- data/spec/dnsimple/client_spec.rb +12 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42638c92a4155646824236ba7c5d871d0136cc3a
|
4
|
+
data.tar.gz: 9eebdc4564923bb72dcb799dd03742b624755114
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9531a98f22ece8e9be835d779e59a71a461a3f4c13844b5a15096b25b2c8d8a178833cfc3e0b6f91e5ca95cf28cf9ef3ca52b9060636ed2c4168a88360c1a3a
|
7
|
+
data.tar.gz: e56b752ffa7824a98ba16b475d8293226475d5851e234c7c5ef3e82a902abccf26816f3d382c147b30fa031f1840e96e10667913718514fc23e2fa4e8682cb30
|
data/CHANGELOG.md
CHANGED
data/lib/dnsimple/client.rb
CHANGED
@@ -7,6 +7,7 @@ module DNSimple
|
|
7
7
|
DEFAULT_BASE_URI = "https://api.dnsimple.com/"
|
8
8
|
HEADER_2FA_STRICT = "X-DNSimple-2FA-Strict"
|
9
9
|
HEADER_API_TOKEN = "X-DNSimple-Token"
|
10
|
+
HEADER_DOMAIN_API_TOKEN = "X-DNSimple-Domain-Token"
|
10
11
|
HEADER_OTP_TOKEN = "X-DNSimple-OTP"
|
11
12
|
HEADER_EXCHANGE_TOKEN = "X-DNSimple-OTP-Token"
|
12
13
|
|
@@ -15,7 +16,7 @@ module DNSimple
|
|
15
16
|
# Defaults to false.
|
16
17
|
attr_accessor :debug
|
17
18
|
|
18
|
-
attr_accessor :username, :password, :exchange_token, :api_token
|
19
|
+
attr_accessor :username, :password, :exchange_token, :api_token, :domain_api_token
|
19
20
|
end
|
20
21
|
|
21
22
|
# Gets the qualified API base uri.
|
@@ -51,6 +52,7 @@ module DNSimple
|
|
51
52
|
self.password = credentials['password']
|
52
53
|
self.exchange_token = credentials['exchange_token']
|
53
54
|
self.api_token = credentials['api_token']
|
55
|
+
self.domain_api_token = credentials['domain_api_token']
|
54
56
|
self.base_uri = credentials['site'] if credentials['site']
|
55
57
|
self.base_uri = credentials['base_uri'] if credentials['base_uri']
|
56
58
|
@http_proxy = { :addr => credentials['proxy_addr'], :port => credentials['proxy_port'] } if credentials['proxy_addr'] || credentials['proxy_port']
|
@@ -63,7 +65,7 @@ module DNSimple
|
|
63
65
|
end
|
64
66
|
|
65
67
|
def self.credentials_loaded?
|
66
|
-
(@credentials_loaded ||= false) or (username and (password or api_token))
|
68
|
+
(@credentials_loaded ||= false) or domain_api_token or (username and (password or api_token))
|
67
69
|
end
|
68
70
|
|
69
71
|
def self.base_options
|
@@ -83,6 +85,8 @@ module DNSimple
|
|
83
85
|
options[:basic_auth] = { :username => exchange_token, :password => "x-2fa-basic" }
|
84
86
|
elsif password
|
85
87
|
options[:basic_auth] = { :username => username, :password => password }
|
88
|
+
elsif domain_api_token
|
89
|
+
options[:headers][HEADER_DOMAIN_API_TOKEN] = domain_api_token
|
86
90
|
elsif api_token
|
87
91
|
options[:headers][HEADER_API_TOKEN] = "#{username}:#{api_token}"
|
88
92
|
else
|
data/lib/dnsimple/version.rb
CHANGED
@@ -30,7 +30,7 @@ describe DNSimple::Client do
|
|
30
30
|
|
31
31
|
describe ".request" do
|
32
32
|
before do
|
33
|
-
[:username, :password, :exchange_token, :api_token].each do |attribute|
|
33
|
+
[:username, :password, :exchange_token, :api_token, :domain_api_token].each do |attribute|
|
34
34
|
described_class.send("#{attribute}=", nil)
|
35
35
|
end
|
36
36
|
end
|
@@ -47,6 +47,17 @@ describe DNSimple::Client do
|
|
47
47
|
described_class.request(:get, '/domains', {})
|
48
48
|
end
|
49
49
|
|
50
|
+
it "uses header authentication if there's a domain api token provided" do
|
51
|
+
described_class.domain_api_token = 'domaintoken'
|
52
|
+
described_class.base_uri = 'https://api.example.com/'
|
53
|
+
|
54
|
+
HTTParty.expects(:get).
|
55
|
+
with('https://api.example.com/domains', has_entries(:headers => has_entries({ 'X-DNSimple-Domain-Token' => 'domaintoken' }))).
|
56
|
+
returns(response)
|
57
|
+
|
58
|
+
described_class.request(:get, '/domains', {})
|
59
|
+
end
|
60
|
+
|
50
61
|
it "uses header authentication if there's an api token provided" do
|
51
62
|
described_class.username = 'user'
|
52
63
|
described_class.api_token = 'token'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnsimple-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Eden
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|