devdnsd 3.1.2 → 4.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -2
- data/.rubocop.yml +82 -0
- data/.travis-gemfile +4 -10
- data/.travis.yml +11 -5
- data/CHANGELOG.md +11 -0
- data/Gemfile +9 -8
- data/README.md +4 -5
- data/Rakefile +22 -6
- data/bin/devdnsd +42 -36
- data/config/devdnsd_config.sample +11 -11
- data/devdnsd.gemspec +7 -6
- data/doc/DevDNSd.html +6 -6
- data/doc/DevDNSd/{ApplicationMethods/Aliases.html → Aliases.html} +96 -100
- data/doc/DevDNSd/Application.html +2170 -1084
- data/doc/DevDNSd/Configuration.html +63 -33
- data/doc/DevDNSd/Errors.html +3 -3
- data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
- data/doc/DevDNSd/{ApplicationMethods/System.html → OSX.html} +116 -489
- data/doc/DevDNSd/Rule.html +448 -749
- data/doc/DevDNSd/{ApplicationMethods/Server.html → Server.html} +77 -73
- data/doc/DevDNSd/System.html +895 -0
- data/doc/DevDNSd/Version.html +6 -6
- data/doc/_index.html +28 -27
- data/doc/class_list.html +6 -2
- data/doc/file.README.html +8 -9
- data/doc/file_list.html +5 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +8 -9
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +106 -84
- data/doc/top-level-namespace.html +3 -3
- data/lib/devdnsd.rb +10 -8
- data/lib/devdnsd/aliases.rb +171 -0
- data/lib/devdnsd/application.rb +93 -704
- data/lib/devdnsd/configuration.rb +20 -11
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/osx.rb +217 -0
- data/lib/devdnsd/rule.rb +65 -94
- data/lib/devdnsd/server.rb +118 -0
- data/lib/devdnsd/system.rb +102 -0
- data/lib/devdnsd/version.rb +3 -3
- data/locales/en.yml +17 -16
- data/locales/it.yml +17 -16
- data/spec/devdnsd/application_spec.rb +188 -184
- data/spec/devdnsd/configuration_spec.rb +2 -2
- data/spec/devdnsd/rule_spec.rb +33 -34
- data/spec/resolver_helper.rb +10 -27
- data/spec/spec_helper.rb +21 -7
- metadata +36 -21
- data/doc/DevDNSd/ApplicationMethods.html +0 -125
- data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +0 -538
- data/spec/coverage_helper.rb +0 -20
@@ -29,13 +29,13 @@ describe DevDNSd::Configuration do
|
|
29
29
|
describe "#add_rule" do
|
30
30
|
it "should add a good rule" do
|
31
31
|
config = DevDNSd::Configuration.new
|
32
|
-
config.add_rule("RULE", "127.0.0.1")
|
32
|
+
config.add_rule(match: "RULE", reply: "127.0.0.1")
|
33
33
|
expect(config.rules.count).to eq(2)
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should reject a bad rule" do
|
37
37
|
config = DevDNSd::Configuration.new
|
38
|
-
expect { config.add_rule("RULE") }.to raise_error(DevDNSd::Errors::InvalidRule)
|
38
|
+
expect { config.add_rule(match: "RULE", options: "ARG") }.to raise_error(DevDNSd::Errors::InvalidRule)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
data/spec/devdnsd/rule_spec.rb
CHANGED
@@ -18,7 +18,7 @@ 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", {a: :b})
|
21
|
+
rule = DevDNSd::Rule.new(match: "MATCH", reply: "REPLY", type: "TYPE", options: {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")
|
@@ -27,7 +27,7 @@ describe DevDNSd::Rule do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should create a rule with arguments and a block" do
|
30
|
-
rule = DevDNSd::Rule.new("MATCH", "REPLY", "TYPE") do end
|
30
|
+
rule = DevDNSd::Rule.new(match: "MATCH", reply: "REPLY", type: "TYPE") do end
|
31
31
|
expect(rule.match).to eq("MATCH")
|
32
32
|
expect(rule.reply).to be_nil
|
33
33
|
expect(rule.type).to eq("TYPE")
|
@@ -36,56 +36,69 @@ describe DevDNSd::Rule do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
describe "#
|
39
|
+
describe "#regexp?" do
|
40
40
|
it "should return true for a regexp pattern" do
|
41
|
-
expect(DevDNSd::Rule.create(/.+/, "127.0.0.1").
|
41
|
+
expect(DevDNSd::Rule.create(match: /.+/, reply: "127.0.0.1").regexp?).to be_truthy
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should return false otherwise" do
|
45
|
-
expect(DevDNSd::Rule.create("RULE", "127.0.0.1").
|
45
|
+
expect(DevDNSd::Rule.create(match: "RULE", reply: "127.0.0.1").regexp?).to be_falsey
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
describe "#
|
49
|
+
describe "#block?" do
|
50
50
|
it "should return true when a block is present" do
|
51
|
-
expect(DevDNSd::Rule.create("RULE"){}.
|
51
|
+
expect(DevDNSd::Rule.create(match: "RULE"){}.block?).to be_truthy
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should return false otherwise" do
|
55
|
-
expect(DevDNSd::Rule.create("RULE", "127.0.0.1").
|
55
|
+
expect(DevDNSd::Rule.create(match: "RULE", reply: "127.0.0.1").block?).to be_falsey
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
59
|
describe "#match_host" do
|
60
60
|
describe "with a string pattern" do
|
61
61
|
it "should return true when hostname matches" do
|
62
|
-
expect(DevDNSd::Rule.create("match.dev", "127.0.0.1").match_host("match.dev")).to
|
62
|
+
expect(DevDNSd::Rule.create(match: "match.dev", reply: "127.0.0.1").match_host("match.dev")).to be_truthy
|
63
63
|
end
|
64
64
|
|
65
65
|
it "should return false when hostname doesn't match" do
|
66
|
-
expect(DevDNSd::Rule.create("match.dev", "127.0.0.1").match_host("unmatch.dev")).to
|
66
|
+
expect(DevDNSd::Rule.create(match: "match.dev", reply: "127.0.0.1").match_host("unmatch.dev")).to be_falsey
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
70
|
describe "with a regexp pattern" do
|
71
71
|
it "should return a MatchData when hostname matches" do
|
72
|
-
expect(DevDNSd::Rule.create(/^match/, "127.0.0.1").match_host("match.dev")).to be_a(MatchData)
|
72
|
+
expect(DevDNSd::Rule.create(match: /^match/, reply: "127.0.0.1").match_host("match.dev")).to be_a(MatchData)
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should return nil when hostname doesn't match" do
|
76
|
-
expect(DevDNSd::Rule.create(/^match/, "127.0.0.1").match_host("unmatch.dev")).to be_nil
|
76
|
+
expect(DevDNSd::Rule.create(match: /^match/, reply: "127.0.0.1").match_host("unmatch.dev")).to be_nil
|
77
77
|
end
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
describe "
|
81
|
+
describe "#resource_class" do
|
82
|
+
it "should return a single class" do
|
83
|
+
expect(DevDNSd::Rule.create(match: "MATCH", reply: "REPLY", type: :A).resource_class).to eq(Resolv::DNS::Resource::IN::A)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "should return an array of classes" do
|
87
|
+
expect(DevDNSd::Rule.create(match: "MATCH", reply: "REPLY", type: [:A, :MX]).resource_class).to eq([Resolv::DNS::Resource::IN::A, Resolv::DNS::Resource::IN::MX])
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should fail for a invalid class" do
|
91
|
+
expect { DevDNSd::Rule.create(match: "MATCH", reply: "REPLY", type: :INVALID).resource_class }.to raise_error(DevDNSd::Errors::InvalidRule)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe ".create" do
|
82
96
|
it "should not allow rules without sufficient arguments" do
|
83
|
-
expect{ DevDNSd::Rule.create("RULE") }.to raise_error(DevDNSd::Errors::InvalidRule)
|
84
|
-
expect{ DevDNSd::Rule.create("RULE", "REPLY", "TYPE", "ARG") }.to raise_error(DevDNSd::Errors::InvalidRule)
|
97
|
+
expect{ DevDNSd::Rule.create(match: "RULE", reply: "REPLY", type: "TYPE", options: "ARG") }.to raise_error(DevDNSd::Errors::InvalidRule)
|
85
98
|
end
|
86
99
|
|
87
100
|
it "should create a rule with host and reply" do
|
88
|
-
rule = DevDNSd::Rule.create("MATCH", "REPLY")
|
101
|
+
rule = DevDNSd::Rule.create(match: "MATCH", reply: "REPLY")
|
89
102
|
expect(rule.match).to eq("MATCH")
|
90
103
|
expect(rule.reply).to eq("REPLY")
|
91
104
|
expect(rule.type).to eq(:A)
|
@@ -93,7 +106,7 @@ describe DevDNSd::Rule do
|
|
93
106
|
end
|
94
107
|
|
95
108
|
it "should create a rule with host, reply and type" do
|
96
|
-
rule = DevDNSd::Rule.create("MATCH", "REPLY", "TYPE", {a: :b})
|
109
|
+
rule = DevDNSd::Rule.create(match: "MATCH", reply: "REPLY", type: "TYPE", options: {a: :b})
|
97
110
|
expect(rule.match).to eq("MATCH")
|
98
111
|
expect(rule.reply).to eq("REPLY")
|
99
112
|
expect(rule.type).to eq("TYPE")
|
@@ -102,7 +115,7 @@ describe DevDNSd::Rule do
|
|
102
115
|
end
|
103
116
|
|
104
117
|
it "should create a rule with host, type and a reply block" do
|
105
|
-
rule = DevDNSd::Rule.create("MATCH", "
|
118
|
+
rule = DevDNSd::Rule.create(match: "MATCH", reply: "UNUSED", type: "TYPE") do end
|
106
119
|
expect(rule.match).to eq("MATCH")
|
107
120
|
expect(rule.reply).to be_nil
|
108
121
|
expect(rule.type).to eq("TYPE")
|
@@ -111,28 +124,14 @@ describe DevDNSd::Rule do
|
|
111
124
|
end
|
112
125
|
end
|
113
126
|
|
114
|
-
describe "
|
115
|
-
it "should return a single class" do
|
116
|
-
expect(DevDNSd::Rule.create("MATCH", "REPLY", :A).resource_class).to eq(Resolv::DNS::Resource::IN::A)
|
117
|
-
end
|
118
|
-
|
119
|
-
it "should return an array of classes" do
|
120
|
-
expect(DevDNSd::Rule.create("MATCH", "REPLY", [:A, :MX]).resource_class).to eq([Resolv::DNS::Resource::IN::A, Resolv::DNS::Resource::IN::MX])
|
121
|
-
end
|
122
|
-
|
123
|
-
it "should fail for a invalid class" do
|
124
|
-
expect { DevDNSd::Rule.create("MATCH", "REPLY", :INVALID).resource_class }.to raise_error(DevDNSd::Errors::InvalidRule)
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
describe "::resource_class_to_symbol" do
|
127
|
+
describe ".resource_class_to_symbol" do
|
129
128
|
it "should convert a class a symbol" do
|
130
129
|
expect(DevDNSd::Rule.resource_class_to_symbol(Resolv::DNS::Resource::IN::A)).to eq(:A)
|
131
130
|
expect(DevDNSd::Rule.resource_class_to_symbol(Resolv)).to eq(:Resolv)
|
132
131
|
end
|
133
132
|
end
|
134
133
|
|
135
|
-
describe "
|
134
|
+
describe ".symbol_to_resource_class" do
|
136
135
|
it "should convert a symbol to a resource class" do
|
137
136
|
expect(DevDNSd::Rule.symbol_to_resource_class(:A, :en)).to eq(Resolv::DNS::Resource::IN::A)
|
138
137
|
end
|
data/spec/resolver_helper.rb
CHANGED
@@ -4,14 +4,6 @@
|
|
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
|
-
# Resolvs an hostname to a nameserver.
|
8
|
-
#
|
9
|
-
# @param [String] The hostname to resolv.
|
10
|
-
# @param [String] The type of query to issue.
|
11
|
-
# @param [String] The nameserver to connect to.
|
12
|
-
# @param [Fixnum] The port to connect to.
|
13
|
-
# @param [Logger] A logger for the resolver.
|
14
|
-
# @return [Array|NilClass] Return an array of pair of addresses and types. `nil` is returned if nothing is found.
|
15
7
|
def devdnsd_resolv(address = "match.dev", type = "ANY", nameserver = "127.0.0.1", port = 7771, logger = nil)
|
16
8
|
resolver = Fiber.current
|
17
9
|
rv = []
|
@@ -20,31 +12,22 @@ def devdnsd_resolv(address = "match.dev", type = "ANY", nameserver = "127.0.0.1"
|
|
20
12
|
logger = Bovem::Logger.new("/dev/null", Bovem::Logger::DEBUG) if !logger
|
21
13
|
logger.info(::Bovem::Console.replace_markers("Resolving address {mark=bright}#{address}{/mark} with type {mark=bright}#{type}{/mark} at nameserver {mark=bright}#{nameserver}{/mark}:{mark=bright}#{port.to_s}{/mark} ..."))
|
22
14
|
|
23
|
-
RubyDNS::Resolver.new([[:udp, nameserver, port], [:tcp, nameserver, port]]).query(address, "Resolv::DNS::Resource::IN::#{type}".constantize)
|
24
|
-
begin
|
25
|
-
if response.is_a?(RubyDNS::Message) then
|
26
|
-
response.answer.each do |answer|
|
27
|
-
type = answer[2].class.to_s.split("::")[-1].to_sym
|
15
|
+
answers = RubyDNS::Resolver.new([[:udp, nameserver, port], [:tcp, nameserver, port]]).query(address, "Resolv::DNS::Resource::IN::#{type}".constantize).answer
|
28
16
|
|
29
|
-
|
30
|
-
|
31
|
-
when :CNAME then answer[2].name.to_s.gsub(/\.$/, "")
|
32
|
-
when :NS then answer[2].name.to_s.gsub(/\.$/, "")
|
33
|
-
when :PTR then answer[2].name.to_s.gsub(/\.$/, "")
|
34
|
-
else answer[2].address.to_s
|
35
|
-
end
|
17
|
+
answers.each do |answer|
|
18
|
+
type = answer[2].class.to_s.split("::")[-1].to_sym
|
36
19
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
20
|
+
name = case type
|
21
|
+
when :MX then answer[2].exchange.to_s.gsub(/\.$/, "")
|
22
|
+
when :CNAME then answer[2].name.to_s.gsub(/\.$/, "")
|
23
|
+
when :NS then answer[2].name.to_s.gsub(/\.$/, "")
|
24
|
+
when :PTR then answer[2].name.to_s.gsub(/\.$/, "")
|
25
|
+
else answer[2].address.to_s
|
42
26
|
end
|
43
27
|
|
44
|
-
|
28
|
+
rv << [name, type]
|
45
29
|
end
|
46
30
|
|
47
|
-
Fiber.yield
|
48
31
|
rv.uniq!
|
49
32
|
logger.info("Resolving ended with result: #{rv.inspect}")
|
50
33
|
rv.length == 1 ? rv[0] : rv
|
data/spec/spec_helper.rb
CHANGED
@@ -4,13 +4,27 @@
|
|
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
|
-
require "rubygems"
|
8
7
|
require "bundler/setup"
|
9
|
-
require "devdnsd"
|
10
|
-
require "resolver_helper"
|
11
8
|
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
if ENV["COVERAGE"]
|
10
|
+
require "simplecov"
|
11
|
+
require "coveralls"
|
12
|
+
|
13
|
+
Coveralls.wear! if ENV["CI"]
|
14
|
+
|
15
|
+
SimpleCov.start do
|
16
|
+
root = Pathname.new(File.dirname(__FILE__)) + ".."
|
17
|
+
|
18
|
+
add_filter do |src_file|
|
19
|
+
path = Pathname.new(src_file.filename).relative_path_from(root).to_s
|
20
|
+
path !~ /^lib/
|
21
|
+
end
|
15
22
|
end
|
16
|
-
end
|
23
|
+
end
|
24
|
+
|
25
|
+
require "i18n"
|
26
|
+
::I18n.enforce_available_locales = false
|
27
|
+
require File.dirname(__FILE__) + "/../lib/devdnsd"
|
28
|
+
Lazier::I18n.default_locale = :en
|
29
|
+
|
30
|
+
require "resolver_helper"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devdnsd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shogun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bovem
|
@@ -16,56 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '4.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '4.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rubydns
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '1.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '1.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: process-daemon
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: mustache
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0
|
61
|
+
version: '1.0'
|
48
62
|
type: :runtime
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0
|
68
|
+
version: '1.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: plist
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
75
|
+
version: '3.2'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.
|
82
|
+
version: '3.2'
|
69
83
|
description: A small DNS server to enable local domain resolution.
|
70
84
|
email:
|
71
85
|
- shogun@cowtech.it
|
@@ -78,6 +92,7 @@ files:
|
|
78
92
|
- ".gitignore"
|
79
93
|
- ".rbx/8b/8b2d1928657c1eeac610d1207ff1bee6e918287c"
|
80
94
|
- ".rbx/db/dbd6130694811dcd0359863bd5380c673db0fe71"
|
95
|
+
- ".rubocop.yml"
|
81
96
|
- ".travis-gemfile"
|
82
97
|
- ".travis.yml"
|
83
98
|
- ".yardopts"
|
@@ -89,16 +104,15 @@ files:
|
|
89
104
|
- config/devdnsd_config.sample
|
90
105
|
- devdnsd.gemspec
|
91
106
|
- doc/DevDNSd.html
|
107
|
+
- doc/DevDNSd/Aliases.html
|
92
108
|
- doc/DevDNSd/Application.html
|
93
|
-
- doc/DevDNSd/ApplicationMethods.html
|
94
|
-
- doc/DevDNSd/ApplicationMethods/Aliases.html
|
95
|
-
- doc/DevDNSd/ApplicationMethods/Server.html
|
96
|
-
- doc/DevDNSd/ApplicationMethods/System.html
|
97
|
-
- doc/DevDNSd/ApplicationMethods/System/ClassMethods.html
|
98
109
|
- doc/DevDNSd/Configuration.html
|
99
110
|
- doc/DevDNSd/Errors.html
|
100
111
|
- doc/DevDNSd/Errors/InvalidRule.html
|
112
|
+
- doc/DevDNSd/OSX.html
|
101
113
|
- doc/DevDNSd/Rule.html
|
114
|
+
- doc/DevDNSd/Server.html
|
115
|
+
- doc/DevDNSd/System.html
|
102
116
|
- doc/DevDNSd/Version.html
|
103
117
|
- doc/_index.html
|
104
118
|
- doc/class_list.html
|
@@ -115,21 +129,23 @@ files:
|
|
115
129
|
- doc/method_list.html
|
116
130
|
- doc/top-level-namespace.html
|
117
131
|
- lib/devdnsd.rb
|
132
|
+
- lib/devdnsd/aliases.rb
|
118
133
|
- lib/devdnsd/application.rb
|
119
134
|
- lib/devdnsd/configuration.rb
|
120
135
|
- lib/devdnsd/errors.rb
|
136
|
+
- lib/devdnsd/osx.rb
|
121
137
|
- lib/devdnsd/rule.rb
|
138
|
+
- lib/devdnsd/server.rb
|
139
|
+
- lib/devdnsd/system.rb
|
122
140
|
- lib/devdnsd/version.rb
|
123
141
|
- locales/en.yml
|
124
142
|
- locales/it.yml
|
125
|
-
- spec/coverage_helper.rb
|
126
143
|
- spec/devdnsd/application_spec.rb
|
127
144
|
- spec/devdnsd/configuration_spec.rb
|
128
145
|
- spec/devdnsd/rule_spec.rb
|
129
146
|
- spec/resolver_helper.rb
|
130
147
|
- spec/spec_helper.rb
|
131
|
-
|
132
|
-
homepage: http://sw.cow.tc/devdnsd
|
148
|
+
homepage: http://sw.cowtech.it/devdnsd
|
133
149
|
licenses:
|
134
150
|
- MIT
|
135
151
|
metadata: {}
|
@@ -141,7 +157,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
157
|
requirements:
|
142
158
|
- - ">="
|
143
159
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
160
|
+
version: 2.3.0
|
145
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
162
|
requirements:
|
147
163
|
- - ">="
|
@@ -149,12 +165,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
165
|
version: '0'
|
150
166
|
requirements: []
|
151
167
|
rubyforge_project: devdnsd
|
152
|
-
rubygems_version: 2.
|
168
|
+
rubygems_version: 2.5.1
|
153
169
|
signing_key:
|
154
170
|
specification_version: 4
|
155
171
|
summary: A small DNS server to enable local domain resolution.
|
156
172
|
test_files:
|
157
|
-
- spec/coverage_helper.rb
|
158
173
|
- spec/devdnsd/application_spec.rb
|
159
174
|
- spec/devdnsd/configuration_spec.rb
|
160
175
|
- spec/devdnsd/rule_spec.rb
|
@@ -1,125 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
-
<title>
|
7
|
-
Module: DevDNSd::ApplicationMethods
|
8
|
-
|
9
|
-
— Documentation by YARD 0.8.7.4
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
hasFrames = window.top.frames.main ? true : false;
|
19
|
-
relpath = '../';
|
20
|
-
framesUrl = "../frames.html#!DevDNSd/ApplicationMethods.html";
|
21
|
-
</script>
|
22
|
-
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
-
|
26
|
-
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
-
|
28
|
-
|
29
|
-
</head>
|
30
|
-
<body>
|
31
|
-
<div id="header">
|
32
|
-
<div id="menu">
|
33
|
-
|
34
|
-
<a href="../_index.html">Index (A)</a> »
|
35
|
-
<span class='title'><span class='object_link'><a href="../DevDNSd.html" title="DevDNSd (module)">DevDNSd</a></span></span>
|
36
|
-
»
|
37
|
-
<span class="title">ApplicationMethods</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a class="full_list_link" id="class_list_link"
|
46
|
-
href="../class_list.html">
|
47
|
-
Class List
|
48
|
-
</a>
|
49
|
-
|
50
|
-
<a class="full_list_link" id="method_list_link"
|
51
|
-
href="../method_list.html">
|
52
|
-
Method List
|
53
|
-
</a>
|
54
|
-
|
55
|
-
<a class="full_list_link" id="file_list_link"
|
56
|
-
href="../file_list.html">
|
57
|
-
File List
|
58
|
-
</a>
|
59
|
-
|
60
|
-
</div>
|
61
|
-
<div class="clear"></div>
|
62
|
-
</div>
|
63
|
-
|
64
|
-
<iframe id="search_frame"></iframe>
|
65
|
-
|
66
|
-
<div id="content"><h1>Module: DevDNSd::ApplicationMethods
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
</h1>
|
71
|
-
|
72
|
-
<dl class="box">
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
<dt class="r1 last">Defined in:</dt>
|
82
|
-
<dd class="r1 last">lib/devdnsd/application.rb</dd>
|
83
|
-
|
84
|
-
</dl>
|
85
|
-
<div class="clear"></div>
|
86
|
-
|
87
|
-
<h2>Overview</h2><div class="docstring">
|
88
|
-
<div class="discussion">
|
89
|
-
<p>Methods for the <span class='object_link'><a href="Application.html" title="DevDNSd::Application (class)">Application</a></span> class.</p>
|
90
|
-
|
91
|
-
|
92
|
-
</div>
|
93
|
-
</div>
|
94
|
-
<div class="tags">
|
95
|
-
|
96
|
-
|
97
|
-
</div><h2>Defined Under Namespace</h2>
|
98
|
-
<p class="children">
|
99
|
-
|
100
|
-
|
101
|
-
<strong class="modules">Modules:</strong> <span class='object_link'><a href="ApplicationMethods/Aliases.html" title="DevDNSd::ApplicationMethods::Aliases (module)">Aliases</a></span>, <span class='object_link'><a href="ApplicationMethods/Server.html" title="DevDNSd::ApplicationMethods::Server (module)">Server</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html" title="DevDNSd::ApplicationMethods::System (module)">System</a></span>
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
</p>
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
</div>
|
117
|
-
|
118
|
-
<div id="footer">
|
119
|
-
Generated on Sat Mar 29 11:53:13 2014 by
|
120
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
121
|
-
0.8.7.4 (ruby-2.1.0).
|
122
|
-
</div>
|
123
|
-
|
124
|
-
</body>
|
125
|
-
</html>
|