roadworker 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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