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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.rubocop.yml +82 -0
  4. data/.travis-gemfile +4 -10
  5. data/.travis.yml +11 -5
  6. data/CHANGELOG.md +11 -0
  7. data/Gemfile +9 -8
  8. data/README.md +4 -5
  9. data/Rakefile +22 -6
  10. data/bin/devdnsd +42 -36
  11. data/config/devdnsd_config.sample +11 -11
  12. data/devdnsd.gemspec +7 -6
  13. data/doc/DevDNSd.html +6 -6
  14. data/doc/DevDNSd/{ApplicationMethods/Aliases.html → Aliases.html} +96 -100
  15. data/doc/DevDNSd/Application.html +2170 -1084
  16. data/doc/DevDNSd/Configuration.html +63 -33
  17. data/doc/DevDNSd/Errors.html +3 -3
  18. data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
  19. data/doc/DevDNSd/{ApplicationMethods/System.html → OSX.html} +116 -489
  20. data/doc/DevDNSd/Rule.html +448 -749
  21. data/doc/DevDNSd/{ApplicationMethods/Server.html → Server.html} +77 -73
  22. data/doc/DevDNSd/System.html +895 -0
  23. data/doc/DevDNSd/Version.html +6 -6
  24. data/doc/_index.html +28 -27
  25. data/doc/class_list.html +6 -2
  26. data/doc/file.README.html +8 -9
  27. data/doc/file_list.html +5 -1
  28. data/doc/frames.html +1 -1
  29. data/doc/index.html +8 -9
  30. data/doc/js/full_list.js +4 -1
  31. data/doc/method_list.html +106 -84
  32. data/doc/top-level-namespace.html +3 -3
  33. data/lib/devdnsd.rb +10 -8
  34. data/lib/devdnsd/aliases.rb +171 -0
  35. data/lib/devdnsd/application.rb +93 -704
  36. data/lib/devdnsd/configuration.rb +20 -11
  37. data/lib/devdnsd/errors.rb +1 -1
  38. data/lib/devdnsd/osx.rb +217 -0
  39. data/lib/devdnsd/rule.rb +65 -94
  40. data/lib/devdnsd/server.rb +118 -0
  41. data/lib/devdnsd/system.rb +102 -0
  42. data/lib/devdnsd/version.rb +3 -3
  43. data/locales/en.yml +17 -16
  44. data/locales/it.yml +17 -16
  45. data/spec/devdnsd/application_spec.rb +188 -184
  46. data/spec/devdnsd/configuration_spec.rb +2 -2
  47. data/spec/devdnsd/rule_spec.rb +33 -34
  48. data/spec/resolver_helper.rb +10 -27
  49. data/spec/spec_helper.rb +21 -7
  50. metadata +36 -21
  51. data/doc/DevDNSd/ApplicationMethods.html +0 -125
  52. data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +0 -538
  53. 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
@@ -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 "#is_regexp?" do
39
+ describe "#regexp?" do
40
40
  it "should return true for a regexp pattern" do
41
- expect(DevDNSd::Rule.create(/.+/, "127.0.0.1").is_regexp?).to be_true
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").is_regexp?).to be_false
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 "#has_block?" do
49
+ describe "#block?" do
50
50
  it "should return true when a block is present" do
51
- expect(DevDNSd::Rule.create("RULE"){}.has_block?).to be_true
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").has_block?).to be_false
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 be_true
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 be_false
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 "::create" do
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", "TYPE", "UNUSED") do end
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 "#resource_class" do
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 "::symbol_to_resource_class" do
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
@@ -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) do |response|
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
- name = case type
30
- when :MX then answer[2].exchange.to_s.gsub(/\.$/, "")
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
- rv << [name, type]
38
- end
39
- end
40
- rescue => e
41
- logger.error("[#{e.class}] #{e.to_s}")
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
- resolver.resume
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
@@ -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
- RSpec.configure do |config|
13
- config.expect_with :rspec do |c|
14
- c.syntax = :expect
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: 3.1.2
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: 2014-03-29 00:00:00.000000000 Z
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: 3.0.5
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: 3.0.5
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: 0.7.0
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: 0.7.0
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.99.5
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.99.5
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.1.0
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.1.0
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
- - utils/tester.rb
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: 1.9.3
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.2.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
- &mdash; 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> &raquo;
35
- <span class='title'><span class='object_link'><a href="../DevDNSd.html" title="DevDNSd (module)">DevDNSd</a></span></span>
36
- &raquo;
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>