devdnsd 1.7.0 → 2.0.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.
- data/.travis-gemfile +14 -0
- data/.travis.yml +4 -4
- data/Gemfile +13 -1
- data/README.md +6 -3
- data/Rakefile +1 -8
- data/bin/devdnsd +15 -13
- data/devdnsd.gemspec +6 -13
- data/doc/DevDNSd/Application.html +1096 -1651
- data/doc/DevDNSd/ApplicationMethods/Server.html +517 -0
- data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +372 -0
- data/doc/DevDNSd/ApplicationMethods/System.html +956 -0
- data/doc/DevDNSd/ApplicationMethods.html +125 -0
- data/doc/DevDNSd/Configuration.html +7 -6
- data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
- data/doc/DevDNSd/Errors.html +3 -3
- data/doc/DevDNSd/Rule.html +1685 -218
- data/doc/DevDNSd/Version.html +5 -5
- data/doc/DevDNSd.html +6 -6
- data/doc/_index.html +43 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +47 -40
- data/doc/frames.html +1 -1
- data/doc/index.html +47 -40
- data/doc/method_list.html +69 -45
- data/doc/top-level-namespace.html +3 -3
- data/lib/devdnsd/application.rb +382 -290
- data/lib/devdnsd/configuration.rb +9 -9
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/rule.rb +84 -48
- data/lib/devdnsd/version.rb +3 -3
- data/lib/devdnsd.rb +5 -2
- data/locales/en.yml +48 -0
- data/locales/it.yml +48 -0
- data/spec/coverage_helper.rb +6 -9
- data/spec/devdnsd/application_spec.rb +62 -42
- data/spec/devdnsd/configuration_spec.rb +1 -1
- data/spec/devdnsd/rule_spec.rb +7 -7
- data/spec/spec_helper.rb +1 -2
- data/utils/tester.rb +13 -27
- metadata +17 -142
- data/Gemfile.lock +0 -101
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C)
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
5
5
|
#
|
6
6
|
|
data/spec/devdnsd/rule_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C)
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
5
5
|
#
|
6
6
|
|
@@ -18,11 +18,11 @@ describe DevDNSd::Rule do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
it("should create a rule with arguments and no block") do
|
21
|
-
rule = DevDNSd::Rule.new("MATCH", "REPLY", "TYPE", {:
|
21
|
+
rule = DevDNSd::Rule.new("MATCH", "REPLY", "TYPE", {a: :b})
|
22
22
|
expect(rule.match).to eq("MATCH")
|
23
23
|
expect(rule.reply).to eq("REPLY")
|
24
24
|
expect(rule.type).to eq("TYPE")
|
25
|
-
expect(rule.options).to eq({:
|
25
|
+
expect(rule.options).to eq({a: :b})
|
26
26
|
expect(rule.block).to be_nil
|
27
27
|
end
|
28
28
|
|
@@ -93,11 +93,11 @@ describe DevDNSd::Rule do
|
|
93
93
|
end
|
94
94
|
|
95
95
|
it("should create a rule with host, reply and type") do
|
96
|
-
rule = DevDNSd::Rule.create("MATCH", "REPLY", "TYPE", {:
|
96
|
+
rule = DevDNSd::Rule.create("MATCH", "REPLY", "TYPE", {a: :b})
|
97
97
|
expect(rule.match).to eq("MATCH")
|
98
98
|
expect(rule.reply).to eq("REPLY")
|
99
99
|
expect(rule.type).to eq("TYPE")
|
100
|
-
expect(rule.options).to eq({:
|
100
|
+
expect(rule.options).to eq({a: :b})
|
101
101
|
expect(rule.block).to be_nil
|
102
102
|
end
|
103
103
|
|
@@ -134,11 +134,11 @@ describe DevDNSd::Rule do
|
|
134
134
|
|
135
135
|
describe "::symbol_to_resource_class" do
|
136
136
|
it("should convert a symbol to a resource class") do
|
137
|
-
expect(DevDNSd::Rule.symbol_to_resource_class(:A)).to eq(Resolv::DNS::Resource::IN::A)
|
137
|
+
expect(DevDNSd::Rule.symbol_to_resource_class(:A, :en)).to eq(Resolv::DNS::Resource::IN::A)
|
138
138
|
end
|
139
139
|
|
140
140
|
it("should fail for a invalid class") do
|
141
|
-
expect { DevDNSd::Rule.symbol_to_resource_class(:Invalid) }.to raise_error(DevDNSd::Errors::InvalidRule)
|
141
|
+
expect { DevDNSd::Rule.symbol_to_resource_class(:Invalid, :en) }.to raise_error(DevDNSd::Errors::InvalidRule)
|
142
142
|
end
|
143
143
|
end
|
144
144
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
|
-
# This file is part of the devdnsd gem. Copyright (C)
|
3
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
5
5
|
#
|
6
6
|
|
7
7
|
require "rubygems"
|
8
8
|
require "bundler/setup"
|
9
|
-
require "coverage_helper"
|
10
9
|
require "devdnsd"
|
11
10
|
require "net/dns"
|
12
11
|
|
data/utils/tester.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# encoding: utf-8
|
3
3
|
#
|
4
|
-
# This file is part of the devdnsd gem. Copyright (C)
|
4
|
+
# This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
5
5
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
6
6
|
#
|
7
7
|
|
@@ -13,18 +13,15 @@ require "net/dns"
|
|
13
13
|
# Patch to avoid resolving of hostname containing numbers.
|
14
14
|
class Net::DNS::Resolver
|
15
15
|
def is_ip_address?(addr)
|
16
|
+
ipv6_norm = [/\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z/, /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/, /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/]
|
17
|
+
ipv6_compat = [/\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/, /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/, /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/]
|
18
|
+
|
16
19
|
catch(:valid_ip) do
|
17
20
|
if /\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z/ =~ addr
|
18
21
|
throw(:valid_ip, true) if $~.captures.all? {|i| i.to_i < 256}
|
19
22
|
else
|
20
23
|
# IPv6 (normal)
|
21
|
-
throw(:valid_ip, true) if
|
22
|
-
throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ addr
|
23
|
-
throw(:valid_ip, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z/ =~ addr
|
24
|
-
# IPv6 (IPv4 compat)
|
25
|
-
throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:/ =~ addr && valid_v4?($')
|
26
|
-
throw(:valid_ip, true) if /\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ addr && valid_v4?($')
|
27
|
-
throw(:valid_ip, true) if /\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?/ =~ addr && valid_v4?($')
|
24
|
+
throw(:valid_ip, true) if ipv6_norm.any? {|r| r =~ addr } || (ipv6_compat.any? {|r| r =~ addr } && valid_v4?($'))
|
28
25
|
end
|
29
26
|
|
30
27
|
false
|
@@ -54,8 +51,6 @@ class Net::DNS::Resolver
|
|
54
51
|
packet.header.recursive = @config[:recursive] ? 1 : 0
|
55
52
|
end
|
56
53
|
|
57
|
-
# DNSSEC and TSIG stuff to be inserted here
|
58
|
-
|
59
54
|
packet
|
60
55
|
end
|
61
56
|
end
|
@@ -76,24 +71,15 @@ def devdnsd_resolv(address = "match.dev", type = "ANY", nameserver = "127.0.0.1"
|
|
76
71
|
tmpfile = "/tmp/devdnsd-test-tester-#{Time.now.strftime("%Y%m%d-%H:%M:%S")}"
|
77
72
|
|
78
73
|
begin
|
79
|
-
|
80
|
-
response = resolver.search(address, type)
|
81
|
-
|
82
|
-
response.answer.each do |answer|
|
74
|
+
Net::DNS::Resolver.new(:nameservers => nameserver, :port => port.to_i, :recursive => false, :udp_timeout => 1, :log_file => tmpfile).search(address, type).answer.each do |answer|
|
83
75
|
type = answer.type.upcase.to_sym
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
when :
|
88
|
-
|
89
|
-
when :
|
90
|
-
|
91
|
-
when :NS
|
92
|
-
result = answer.nsdname.gsub(/\.$/, "")
|
93
|
-
when :PTR
|
94
|
-
result = answer.ptrdname.gsub(/\.$/, "")
|
95
|
-
else
|
96
|
-
result = answer.address.to_s
|
76
|
+
|
77
|
+
result = case type
|
78
|
+
when :MX then answer.exchange.gsub(/\.$/, "")
|
79
|
+
when :CNAME then answer.cname.gsub(/\.$/, "")
|
80
|
+
when :NS then answer.nsdname.gsub(/\.$/, "")
|
81
|
+
when :PTR then answer.ptrdname.gsub(/\.$/, "")
|
82
|
+
else answer.address.to_s
|
97
83
|
end
|
98
84
|
|
99
85
|
rv << [result, type]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devdnsd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
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:
|
12
|
+
date: 2013-02-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mamertes
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 2.0.7
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 2.0.7
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: rubydns
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - ~>
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.5.
|
37
|
+
version: 0.5.4
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.5.
|
45
|
+
version: 0.5.4
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: rexec
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,134 +59,6 @@ dependencies:
|
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.5.1
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rspec
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 2.11.0
|
70
|
-
type: :development
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 2.11.0
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rake
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 0.9.0
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 0.9.0
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: simplecov
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: 0.7.0
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 0.7.0
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: pry
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ! '>='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ! '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: net-dns
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ~>
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 0.7.0
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
|
-
requirements:
|
139
|
-
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
version: 0.7.0
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: yard
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ~>
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 0.8.0
|
150
|
-
type: :development
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.8.0
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: redcarpet
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
|
-
requirements:
|
163
|
-
- - ~>
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 2.2.2
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - ~>
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 2.2.2
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: github-markup
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
|
-
requirements:
|
179
|
-
- - ~>
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version: 0.7.0
|
182
|
-
type: :development
|
183
|
-
prerelease: false
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ~>
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 0.7.0
|
190
62
|
description: A small DNS server to enable local domain resolution.
|
191
63
|
email:
|
192
64
|
- shogun_panda@me.com
|
@@ -197,10 +69,10 @@ extra_rdoc_files: []
|
|
197
69
|
files:
|
198
70
|
- .DS_Store
|
199
71
|
- .gitignore
|
72
|
+
- .travis-gemfile
|
200
73
|
- .travis.yml
|
201
74
|
- .yardopts
|
202
75
|
- Gemfile
|
203
|
-
- Gemfile.lock
|
204
76
|
- README.md
|
205
77
|
- Rakefile
|
206
78
|
- bin/devdnsd
|
@@ -208,6 +80,10 @@ files:
|
|
208
80
|
- devdnsd.gemspec
|
209
81
|
- doc/DevDNSd.html
|
210
82
|
- doc/DevDNSd/Application.html
|
83
|
+
- doc/DevDNSd/ApplicationMethods.html
|
84
|
+
- doc/DevDNSd/ApplicationMethods/Server.html
|
85
|
+
- doc/DevDNSd/ApplicationMethods/System.html
|
86
|
+
- doc/DevDNSd/ApplicationMethods/System/ClassMethods.html
|
211
87
|
- doc/DevDNSd/Configuration.html
|
212
88
|
- doc/DevDNSd/Errors.html
|
213
89
|
- doc/DevDNSd/Errors/InvalidRule.html
|
@@ -233,13 +109,15 @@ files:
|
|
233
109
|
- lib/devdnsd/errors.rb
|
234
110
|
- lib/devdnsd/rule.rb
|
235
111
|
- lib/devdnsd/version.rb
|
112
|
+
- locales/en.yml
|
113
|
+
- locales/it.yml
|
236
114
|
- spec/coverage_helper.rb
|
237
115
|
- spec/devdnsd/application_spec.rb
|
238
116
|
- spec/devdnsd/configuration_spec.rb
|
239
117
|
- spec/devdnsd/rule_spec.rb
|
240
118
|
- spec/spec_helper.rb
|
241
119
|
- utils/tester.rb
|
242
|
-
homepage: http://
|
120
|
+
homepage: http://sw.cow.tc/devdnsd
|
243
121
|
licenses: []
|
244
122
|
post_install_message:
|
245
123
|
rdoc_options: []
|
@@ -250,10 +128,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
128
|
requirements:
|
251
129
|
- - ! '>='
|
252
130
|
- !ruby/object:Gem::Version
|
253
|
-
version:
|
254
|
-
segments:
|
255
|
-
- 0
|
256
|
-
hash: 437645592278327287
|
131
|
+
version: 1.9.3
|
257
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
258
133
|
none: false
|
259
134
|
requirements:
|
@@ -262,10 +137,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
262
137
|
version: '0'
|
263
138
|
segments:
|
264
139
|
- 0
|
265
|
-
hash:
|
140
|
+
hash: 4257481357820499987
|
266
141
|
requirements: []
|
267
142
|
rubyforge_project: devdnsd
|
268
|
-
rubygems_version: 1.8.
|
143
|
+
rubygems_version: 1.8.25
|
269
144
|
signing_key:
|
270
145
|
specification_version: 3
|
271
146
|
summary: A small DNS server to enable local domain resolution.
|
data/Gemfile.lock
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
devdnsd (1.7.0)
|
5
|
-
mamertes (~> 1.2.0)
|
6
|
-
rexec (~> 1.5.1)
|
7
|
-
rubydns (~> 0.5.2)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: http://rubygems.org/
|
11
|
-
specs:
|
12
|
-
actionpack (3.2.8)
|
13
|
-
activemodel (= 3.2.8)
|
14
|
-
activesupport (= 3.2.8)
|
15
|
-
builder (~> 3.0.0)
|
16
|
-
erubis (~> 2.7.0)
|
17
|
-
journey (~> 1.0.4)
|
18
|
-
rack (~> 1.4.0)
|
19
|
-
rack-cache (~> 1.2)
|
20
|
-
rack-test (~> 0.6.1)
|
21
|
-
sprockets (~> 2.1.3)
|
22
|
-
activemodel (3.2.8)
|
23
|
-
activesupport (= 3.2.8)
|
24
|
-
builder (~> 3.0.0)
|
25
|
-
activesupport (3.2.8)
|
26
|
-
i18n (~> 0.6)
|
27
|
-
multi_json (~> 1.0)
|
28
|
-
bovem (1.2.6)
|
29
|
-
lazier (~> 1.0)
|
30
|
-
open4 (~> 1.3.0)
|
31
|
-
builder (3.0.4)
|
32
|
-
coderay (1.0.7)
|
33
|
-
diff-lcs (1.1.3)
|
34
|
-
erubis (2.7.0)
|
35
|
-
eventmachine (1.0.0)
|
36
|
-
github-markup (0.7.4)
|
37
|
-
hike (1.2.1)
|
38
|
-
i18n (0.6.1)
|
39
|
-
journey (1.0.4)
|
40
|
-
json (1.7.5)
|
41
|
-
lazier (1.0.6)
|
42
|
-
actionpack (~> 3.0)
|
43
|
-
json (~> 1.7.0)
|
44
|
-
tzinfo (~> 0.3.0)
|
45
|
-
mamertes (1.2.0)
|
46
|
-
bovem (~> 1.2.2)
|
47
|
-
method_source (0.8)
|
48
|
-
multi_json (1.3.6)
|
49
|
-
net-dns (0.7.1)
|
50
|
-
open4 (1.3.0)
|
51
|
-
pry (0.9.10)
|
52
|
-
coderay (~> 1.0.5)
|
53
|
-
method_source (~> 0.8)
|
54
|
-
slop (~> 3.3.1)
|
55
|
-
rack (1.4.1)
|
56
|
-
rack-cache (1.2)
|
57
|
-
rack (>= 0.4)
|
58
|
-
rack-test (0.6.2)
|
59
|
-
rack (>= 1.0)
|
60
|
-
rainbow (1.1.4)
|
61
|
-
rake (0.9.2.2)
|
62
|
-
redcarpet (2.2.2)
|
63
|
-
rexec (1.5.1)
|
64
|
-
rainbow
|
65
|
-
rspec (2.11.0)
|
66
|
-
rspec-core (~> 2.11.0)
|
67
|
-
rspec-expectations (~> 2.11.0)
|
68
|
-
rspec-mocks (~> 2.11.0)
|
69
|
-
rspec-core (2.11.1)
|
70
|
-
rspec-expectations (2.11.3)
|
71
|
-
diff-lcs (~> 1.1.3)
|
72
|
-
rspec-mocks (2.11.3)
|
73
|
-
rubydns (0.5.2)
|
74
|
-
eventmachine (~> 1.0.0)
|
75
|
-
rexec (~> 1.5.1)
|
76
|
-
simplecov (0.7.1)
|
77
|
-
multi_json (~> 1.0)
|
78
|
-
simplecov-html (~> 0.7.1)
|
79
|
-
simplecov-html (0.7.1)
|
80
|
-
slop (3.3.3)
|
81
|
-
sprockets (2.1.3)
|
82
|
-
hike (~> 1.2)
|
83
|
-
rack (~> 1.0)
|
84
|
-
tilt (~> 1.1, != 1.3.0)
|
85
|
-
tilt (1.3.3)
|
86
|
-
tzinfo (0.3.33)
|
87
|
-
yard (0.8.2.1)
|
88
|
-
|
89
|
-
PLATFORMS
|
90
|
-
ruby
|
91
|
-
|
92
|
-
DEPENDENCIES
|
93
|
-
devdnsd!
|
94
|
-
github-markup (~> 0.7.0)
|
95
|
-
net-dns (~> 0.7.0)
|
96
|
-
pry
|
97
|
-
rake (~> 0.9.0)
|
98
|
-
redcarpet (~> 2.2.2)
|
99
|
-
rspec (~> 2.11.0)
|
100
|
-
simplecov (~> 0.7.0)
|
101
|
-
yard (~> 0.8.0)
|