splicer-dns_made_easy 2.1.2 → 2.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjAzMjQ4NjVmNWZlMTdiZjAwZDMxMWNmMTlhMjJiODMzYzQ5OTA4Mg==
5
- data.tar.gz: !binary |-
6
- ZTk1MTA4Y2JmOTY3ZThhOGU2MDhhMzUyZTczN2I3ZGQ1ZDQzMjg0NQ==
2
+ SHA1:
3
+ metadata.gz: d6bf2988b2aba7b6bdb40c1f9e45d6a4e7ee1390
4
+ data.tar.gz: a44423d5eceb5c7857367687e94c25b4a749ad5c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- MzU0Y2RmOWM3NDQwMGYyNGM4Y2EyYjg5ZThmN2E3MDQ5MThlNDZhM2RmMGYy
10
- N2RkNDYxNTU4MmQzZmFhNWU4NGJmMTg1NjNiODdiNTg3YTAwODgzMzQ2ZTFh
11
- Mjc0NjRhYTI5ZTY1M2I4MzdiYTEwMTdjOGFkMGIxY2ZmZjhjN2I=
12
- data.tar.gz: !binary |-
13
- ZGQzNGY4MmJiYThlYTRiNzRiMjYxMzAzMTBhMTJlNjE3Yzc3ODNkNWM5NTQ5
14
- MDc4ODNhNTIwMGI1MTkyOWFhZDhiZDFkYTU2MzViZTU2ZTM3NDIyNmMwYjU1
15
- MGVjNmM5NDI1YWYyNDMxNjE2NGQ2MThmYjZiODFhMDEzOTZlM2Q=
6
+ metadata.gz: 0139e75437c1fcf56fc23c278c7cddce5c2fe675371d719f8d182c6b8ec4beeaa18e76e0933aa067e1996277e9f67ecb7e62239f2dddb649f091c4e9004d0c1a
7
+ data.tar.gz: 0fb5ff33f705d48272923adcb7a8ccf51f115fe46bda81837456d23273fc019d376cc81faefc569fa660b47ee0d5a9af3d37986c8381918d11b54bd3409a4e31
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ .idea/
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 1.9.3
1
+ 2.1.6
@@ -3,7 +3,7 @@ module Splicer
3
3
 
4
4
  # @author Matthew A. Johnston <warmwaffles@gmail.com>
5
5
  class Provider < Splicer::Provider
6
- attr_reader :client
6
+ attr_reader :client, :records
7
7
 
8
8
  def initialize(config)
9
9
  @config = config
@@ -33,7 +33,7 @@ module Splicer
33
33
  def delete_record_in_zone(record, zone)
34
34
  Splicer.logger.debug "[SPLICER][DNSMADEEASY] #delete_record_in_zone record=#{record.inspect} zone=#{zone.inspect}"
35
35
  domain = find_domain(zone.name)
36
- return false unless domain.persisted?
36
+ return [] unless domain.persisted?
37
37
 
38
38
  records = find_records(record.name, record.type, domain.id)
39
39
  return false if records.empty?
@@ -64,18 +64,29 @@ module Splicer
64
64
  create_record(domain.id, record)
65
65
  end
66
66
 
67
+ def get_records_for(zone)
68
+ Splicer.logger.debug "[SPLICER][DNSMADEEASY] #get_records_for zone=#{zone.inspect}"
69
+ domain = find_domain(zone.name)
70
+ return false unless domain.persisted?
71
+ fetch_records(domain.id)
72
+ end
73
+
67
74
  private
68
75
 
69
76
  # @param [Integer] domain_id
70
77
  # @return [Array<Splicer::DnsMadeEasy::Record>]
71
78
  def fetch_records(domain_id)
72
- response = JSON.parse(client.get(record_url(domain_id)))
73
- list = []
74
- response['data'].each do |r|
75
- list << Record.new(r)
79
+ records_call = client.get(record_url(domain_id))
80
+ records = JSON.parse(records_call)['data']
81
+
82
+ @records = []
83
+ records.each do |record|
84
+ new_record = Record.new
85
+ record.each {|attribute, type| new_record.send(:"#{attribute}=", type)}
86
+ @records << new_record
76
87
  end
77
- list
78
- rescue Splicer::Errors::RequestError => error
88
+ @records
89
+ rescue
79
90
  []
80
91
  end
81
92
 
@@ -85,7 +96,7 @@ module Splicer
85
96
  def find_records(name, type, domain_id)
86
97
  payload = {
87
98
  type: type,
88
- recordName: name ? name : ''
99
+ recordName: name || ''
89
100
  }
90
101
  response = JSON.parse(client.get(record_url(domain_id), payload))
91
102
  if response['data'].is_a?(Array)
@@ -2,7 +2,10 @@ module Splicer
2
2
  module DnsMadeEasy
3
3
 
4
4
  class Record
5
- attr_reader :id, :type, :value, :ttl, :data
5
+ attr_accessor :name, :value, :id, :type, :dynamicDns,
6
+ :failed, :gtdLocation, :hardLink, :ttl,
7
+ :failover, :monitor, :sourceId, :source, :data
8
+
6
9
  def initialize(params={})
7
10
  @id = params['id']
8
11
  @type = params['type']
@@ -1,5 +1,5 @@
1
1
  module Splicer
2
2
  module DnsMadeEasy
3
- VERSION = "2.1.2"
3
+ VERSION = "2.2.1"
4
4
  end
5
5
  end
@@ -5,8 +5,14 @@ describe Splicer::DnsMadeEasy::Config do
5
5
 
6
6
  describe '#initialize' do
7
7
  subject { config }
8
- its(:key) { should eq('key') }
9
- its(:secret) { should eq('secret') }
8
+
9
+ it "should find :key to be equal to 'key'" do
10
+ expect(config.key).to eq('key')
11
+ end
12
+
13
+ it "should find :secret to be equal to 'secret'" do
14
+ expect(config.secret).to eq('secret')
15
+ end
10
16
  end
11
17
 
12
18
  describe '#provider' do
@@ -7,20 +7,26 @@ describe Splicer::DnsMadeEasy::Domain do
7
7
  { 'id' => 1 }
8
8
  end
9
9
  subject { Splicer::DnsMadeEasy::Domain.new(params) }
10
- its(:id) { should eq(1) }
11
- its(:data) { should eq(params) }
10
+
11
+ it 'should find :id to be equal to 1' do
12
+ expect(subject.id).to eq(1)
13
+ end
14
+
15
+ it 'should find :data to be equal to passed params' do
16
+ expect(subject.data).to eq(params)
17
+ end
12
18
  end
13
19
 
14
20
  describe '#persisted?' do
15
21
  subject { domain.persisted? }
16
22
  context 'when the domain is persisted' do
17
23
  let(:domain) { Splicer::DnsMadeEasy::Domain.new({'id' => 1}) }
18
- it { should be_true }
24
+ it { should be_truthy }
19
25
  end
20
26
 
21
27
  context 'when the domain is not persisted' do
22
28
  let(:domain) { Splicer::DnsMadeEasy::Domain.new }
23
- it { should be_false }
29
+ it { should be_falsy }
24
30
  end
25
31
  end
26
32
  end
@@ -14,7 +14,7 @@ describe Splicer::DnsMadeEasy::Provider do
14
14
  provider.stub(:find_domain).and_return(domain)
15
15
  provider.stub(:create_domain).and_raise(Splicer::Errors::RequestError)
16
16
  end
17
- it { should be_false }
17
+ it { should be_falsy }
18
18
  end
19
19
 
20
20
  context 'when the domain exists' do
@@ -23,7 +23,7 @@ describe Splicer::DnsMadeEasy::Provider do
23
23
  provider.stub(:create_domain).and_return(true)
24
24
  provider.stub(:create_record).and_return(true)
25
25
  end
26
- it { should be_true }
26
+ it { should be_truthy }
27
27
  end
28
28
  end
29
29
 
@@ -53,4 +53,12 @@ describe Splicer::DnsMadeEasy::Provider do
53
53
  let(:zone) { Splicer::Zone.new('rspectesting.com') }
54
54
  subject { provider.create_record_in_zone(record, zone) }
55
55
  end
56
+
57
+
58
+ describe '#get_records_for' do
59
+ let(:record) { Splicer::Records::ARecord.new(nil, '127.0.0.1') }
60
+ let(:zone) { Splicer::Zone.new('rspectesting.com') }
61
+ let(:records) { provider.create_record_in_zone(record, zone) }
62
+ subject { provider.get_records_for(zone) }
63
+ end
56
64
  end
@@ -11,23 +11,38 @@ describe Splicer::DnsMadeEasy::Record do
11
11
  }
12
12
  end
13
13
  subject { Splicer::DnsMadeEasy::Record.new(params) }
14
- its(:id) { should eq(params['id']) }
15
- its(:type) { should eq(params['type']) }
16
- its(:value) { should eq(params['value']) }
17
- its(:ttl) { should eq(params['ttl']) }
18
- its(:data) { should eq(params) }
14
+
15
+ it "should find :id to be equal to passed params['id']" do
16
+ expect(subject.id).to eq(params['id'])
17
+ end
18
+
19
+ it "should find :type to be equal to passed params['type']" do
20
+ expect(subject.type).to eq(params['type'])
21
+ end
22
+
23
+ it "should find :value to be equal to passed params['value']" do
24
+ expect(subject.value).to eq(params['value'])
25
+ end
26
+
27
+ it "should find :ttl to be equal to passed params['ttl']" do
28
+ expect(subject.ttl).to eq(params['ttl'])
29
+ end
30
+
31
+ it "should find :data to be equal to passed params" do
32
+ expect(subject.data).to eq(params)
33
+ end
19
34
  end
20
35
 
21
36
  describe '#persisted?' do
22
37
  subject { record.persisted? }
23
38
  context 'when the record is persisted' do
24
39
  let(:record) { Splicer::DnsMadeEasy::Record.new({'id' => 1}) }
25
- it { should be_true }
40
+ it { should be_truthy }
26
41
  end
27
42
 
28
43
  context 'when the record is not persisted' do
29
44
  let(:record) { Splicer::DnsMadeEasy::Record.new }
30
- it { should be_false }
45
+ it { should be_falsy }
31
46
  end
32
47
  end
33
48
  end
@@ -6,11 +6,11 @@ require 'splicer/dns_made_easy/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "splicer-dns_made_easy"
8
8
  spec.version = Splicer::DnsMadeEasy::VERSION
9
- spec.authors = ["Matthew Johnston"]
10
- spec.email = ["warmwaffles@gmail.com"]
11
- spec.description = %q{The splicer adapter for interacting DnsMadeEasy}
12
- spec.summary = %q{The splicer adapter for interacting DnsMadeEasy}
13
- spec.homepage = "https://github.com/zippykid/dns_made_easy"
9
+ spec.authors = ["Matthew Johnston", "Joshua Stowers"]
10
+ spec.email = ["warmwaffles@gmail.com", "joshua@pressable.com"]
11
+ spec.description = %q{The Splicer adapter for interacting DnsMadeEasy}
12
+ spec.summary = %q{Use this gem together with Splicer if you are using multiple DNS providers, and want a unified interface to manage each of them simultaneously}
13
+ spec.homepage = "https://github.com/pressable/splicer-dns_made_easy"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency('splicer', '~> 2.1')
22
- spec.add_dependency('rest-client')
21
+ spec.add_dependency('splicer', '~> 2.2', '>= 2.2.0')
22
+ spec.add_dependency('rest-client', '~> 1.8', '>= 1.0.0')
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
25
- spec.add_development_dependency "rake"
26
- spec.add_development_dependency "rspec"
24
+ spec.add_development_dependency 'bundler', '~> 1.3', '>= 1.3.0'
25
+ spec.add_development_dependency 'rake', '~> 10.4', '>= 10.4.0'
26
+ spec.add_development_dependency 'rspec', '~> 3.4.0', '>= 3.4.0'
27
27
  end
metadata CHANGED
@@ -1,96 +1,128 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splicer-dns_made_easy
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.2
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Johnston
8
+ - Joshua Stowers
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-08-20 00:00:00.000000000 Z
12
+ date: 2015-12-02 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: splicer
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ~>
18
+ - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '2.1'
20
+ version: '2.2'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.2.0
20
24
  type: :runtime
21
25
  prerelease: false
22
26
  version_requirements: !ruby/object:Gem::Requirement
23
27
  requirements:
24
- - - ~>
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '2.2'
31
+ - - ">="
25
32
  - !ruby/object:Gem::Version
26
- version: '2.1'
33
+ version: 2.2.0
27
34
  - !ruby/object:Gem::Dependency
28
35
  name: rest-client
29
36
  requirement: !ruby/object:Gem::Requirement
30
37
  requirements:
31
- - - ! '>='
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - - ">="
32
42
  - !ruby/object:Gem::Version
33
- version: '0'
43
+ version: 1.0.0
34
44
  type: :runtime
35
45
  prerelease: false
36
46
  version_requirements: !ruby/object:Gem::Requirement
37
47
  requirements:
38
- - - ! '>='
48
+ - - "~>"
39
49
  - !ruby/object:Gem::Version
40
- version: '0'
50
+ version: '1.8'
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.0.0
41
54
  - !ruby/object:Gem::Dependency
42
55
  name: bundler
43
56
  requirement: !ruby/object:Gem::Requirement
44
57
  requirements:
45
- - - ~>
58
+ - - "~>"
46
59
  - !ruby/object:Gem::Version
47
60
  version: '1.3'
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.3.0
48
64
  type: :development
49
65
  prerelease: false
50
66
  version_requirements: !ruby/object:Gem::Requirement
51
67
  requirements:
52
- - - ~>
68
+ - - "~>"
53
69
  - !ruby/object:Gem::Version
54
70
  version: '1.3'
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.3.0
55
74
  - !ruby/object:Gem::Dependency
56
75
  name: rake
57
76
  requirement: !ruby/object:Gem::Requirement
58
77
  requirements:
59
- - - ! '>='
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '10.4'
81
+ - - ">="
60
82
  - !ruby/object:Gem::Version
61
- version: '0'
83
+ version: 10.4.0
62
84
  type: :development
63
85
  prerelease: false
64
86
  version_requirements: !ruby/object:Gem::Requirement
65
87
  requirements:
66
- - - ! '>='
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '10.4'
91
+ - - ">="
67
92
  - !ruby/object:Gem::Version
68
- version: '0'
93
+ version: 10.4.0
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: rspec
71
96
  requirement: !ruby/object:Gem::Requirement
72
97
  requirements:
73
- - - ! '>='
98
+ - - "~>"
74
99
  - !ruby/object:Gem::Version
75
- version: '0'
100
+ version: 3.4.0
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 3.4.0
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - ! '>='
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 3.4.0
111
+ - - ">="
81
112
  - !ruby/object:Gem::Version
82
- version: '0'
83
- description: The splicer adapter for interacting DnsMadeEasy
113
+ version: 3.4.0
114
+ description: The Splicer adapter for interacting DnsMadeEasy
84
115
  email:
85
116
  - warmwaffles@gmail.com
117
+ - joshua@pressable.com
86
118
  executables: []
87
119
  extensions: []
88
120
  extra_rdoc_files: []
89
121
  files:
90
- - .gitignore
91
- - .rspec
92
- - .ruby-gemset
93
- - .ruby-version
122
+ - ".gitignore"
123
+ - ".rspec"
124
+ - ".ruby-gemset"
125
+ - ".ruby-version"
94
126
  - Gemfile
95
127
  - LICENSE.txt
96
128
  - README.md
@@ -110,7 +142,7 @@ files:
110
142
  - spec/splicer/dns_made_easy/provider_spec.rb
111
143
  - spec/splicer/dns_made_easy/record_spec.rb
112
144
  - splicer-dns_made_easy.gemspec
113
- homepage: https://github.com/zippykid/dns_made_easy
145
+ homepage: https://github.com/pressable/splicer-dns_made_easy
114
146
  licenses:
115
147
  - MIT
116
148
  metadata: {}
@@ -120,20 +152,21 @@ require_paths:
120
152
  - lib
121
153
  required_ruby_version: !ruby/object:Gem::Requirement
122
154
  requirements:
123
- - - ! '>='
155
+ - - ">="
124
156
  - !ruby/object:Gem::Version
125
157
  version: '0'
126
158
  required_rubygems_version: !ruby/object:Gem::Requirement
127
159
  requirements:
128
- - - ! '>='
160
+ - - ">="
129
161
  - !ruby/object:Gem::Version
130
162
  version: '0'
131
163
  requirements: []
132
164
  rubyforge_project:
133
- rubygems_version: 2.4.5
165
+ rubygems_version: 2.2.3
134
166
  signing_key:
135
167
  specification_version: 4
136
- summary: The splicer adapter for interacting DnsMadeEasy
168
+ summary: Use this gem together with Splicer if you are using multiple DNS providers,
169
+ and want a unified interface to manage each of them simultaneously
137
170
  test_files:
138
171
  - spec/spec_helper.rb
139
172
  - spec/splicer/dns_made_easy/client_spec.rb