devdnsd 3.1.2 → 4.0.0

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