roadworker 0.3.5 → 0.3.6

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.
@@ -1,7 +1,6 @@
1
1
  module Roadworker
2
2
  class DSL
3
3
  class Converter
4
-
5
4
  class << self
6
5
  def convert(exported)
7
6
  self.new(exported).convert
@@ -9,6 +9,7 @@ unless Socket.const_defined?(:AF_INET6)
9
9
  end
10
10
 
11
11
  require 'net/dns'
12
+ require 'roadworker/net-dns-ext'
12
13
 
13
14
  module Roadworker
14
15
  class DSL
@@ -57,14 +58,14 @@ module Roadworker
57
58
  expected_value = (record.resource_records || []).map {|i| i[:value].strip }.sort
58
59
  expected_ttl = record.dns_name ? 60 : record.ttl
59
60
 
60
- actual_value = response.answer.map {|i| (type == 'TXT' ? i.txt : i.value).strip }.sort
61
+ actual_value = response.answer.map {|i| (%w(TXT SPF).include?(type) ? i.txt : i.value).strip }.sort
61
62
  actual_ttls = response.answer.map {|i| i.ttl }
62
63
 
63
64
  case type
64
65
  when 'NS', 'PTR', 'MX', 'CNAME'
65
66
  expected_value = expected_value.map {|i| i.downcase.sub(/\.\Z/, '') }
66
67
  actual_value = actual_value.map {|i| i.downcase.sub(/\.\Z/, '') }
67
- when 'TXT'
68
+ when 'TXT', 'SPF'
68
69
  expected_value = expected_value.map {|i| i.scan(/"([^"]+)"/).join.strip.gsub(/\s+/, ' ') }
69
70
  actual_value = actual_value.map {|i| i.strip.gsub(/\s+/, ' ') }
70
71
  end
@@ -166,7 +167,7 @@ module Roadworker
166
167
  response = query(name, type)
167
168
 
168
169
  if response
169
- asterisk_answers[key] = response.answer.map {|i| (type == 'TXT' ? i.txt : i.value).strip }
170
+ asterisk_answers[key] = response.answer.map {|i| (%w(TXT SPF).include?(type) ? i.txt : i.value).strip }
170
171
  end
171
172
  end
172
173
 
@@ -0,0 +1,27 @@
1
+ require 'net/dns'
2
+ require 'net/dns/rr'
3
+
4
+ module Net
5
+ module DNS
6
+ module QueryTypes
7
+ SPF = 99
8
+ end # QueryTypes
9
+
10
+ class RR
11
+ class Types
12
+ TYPES['SPF'] = 99
13
+ end # Types
14
+
15
+ class SPF < TXT
16
+ def spf
17
+ txt
18
+ end
19
+
20
+ private
21
+ def set_type
22
+ @type = Net::DNS::RR::Types.new("SPF")
23
+ end
24
+ end # SPF
25
+ end # RR
26
+ end # DNS
27
+ end # Net
@@ -1,5 +1,5 @@
1
1
  module Roadworker
2
- VERSION = "0.3.5"
2
+ VERSION = "0.3.6"
3
3
  end
4
4
 
5
5
  Version = Roadworker::VERSION
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-30 00:00:00.000000000 Z
12
+ date: 2013-10-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-sdk
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
53
  version: 0.8.0
54
54
  type: :runtime
@@ -56,7 +56,7 @@ dependencies:
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ! '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.8.0
62
62
  - !ruby/object:Gem::Dependency
@@ -139,6 +139,7 @@ files:
139
139
  - lib/roadworker/dsl-tester.rb
140
140
  - lib/roadworker/dsl.rb
141
141
  - lib/roadworker/log.rb
142
+ - lib/roadworker/net-dns-ext.rb
142
143
  - lib/roadworker/route53-exporter.rb
143
144
  - lib/roadworker/route53-ext.rb
144
145
  - lib/roadworker/route53-health-check.rb