devdnsd 2.4.0 → 3.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 (45) hide show
  1. checksums.yaml +7 -0
  2. data/.rbx/8b/8b2d1928657c1eeac610d1207ff1bee6e918287c +857 -0
  3. data/.rbx/db/dbd6130694811dcd0359863bd5380c673db0fe71 +288 -0
  4. data/.travis-gemfile +1 -2
  5. data/.travis.yml +1 -0
  6. data/Gemfile +2 -3
  7. data/README.md +3 -1
  8. data/Rakefile +1 -1
  9. data/bin/devdnsd +29 -5
  10. data/config/devdnsd_config.sample +2 -5
  11. data/devdnsd.gemspec +6 -5
  12. data/doc/DevDNSd.html +4 -4
  13. data/doc/DevDNSd/Application.html +560 -520
  14. data/doc/DevDNSd/ApplicationMethods.html +4 -4
  15. data/doc/DevDNSd/ApplicationMethods/Aliases.html +780 -0
  16. data/doc/DevDNSd/ApplicationMethods/Server.html +46 -46
  17. data/doc/DevDNSd/ApplicationMethods/System.html +222 -20
  18. data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +3 -3
  19. data/doc/DevDNSd/Configuration.html +20 -20
  20. data/doc/DevDNSd/Errors.html +3 -3
  21. data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
  22. data/doc/DevDNSd/Rule.html +15 -15
  23. data/doc/DevDNSd/Version.html +5 -5
  24. data/doc/_index.html +11 -4
  25. data/doc/class_list.html +1 -1
  26. data/doc/file.README.html +6 -4
  27. data/doc/frames.html +1 -1
  28. data/doc/index.html +6 -4
  29. data/doc/method_list.html +73 -31
  30. data/doc/top-level-namespace.html +3 -3
  31. data/lib/devdnsd.rb +6 -3
  32. data/lib/devdnsd/application.rb +220 -11
  33. data/lib/devdnsd/configuration.rb +19 -1
  34. data/lib/devdnsd/errors.rb +1 -1
  35. data/lib/devdnsd/rule.rb +2 -2
  36. data/lib/devdnsd/version.rb +3 -3
  37. data/locales/en.yml +28 -2
  38. data/locales/it.yml +29 -2
  39. data/spec/coverage_helper.rb +3 -3
  40. data/spec/devdnsd/application_spec.rb +202 -51
  41. data/spec/devdnsd/configuration_spec.rb +1 -1
  42. data/spec/devdnsd/rule_spec.rb +1 -1
  43. data/spec/resolver_helper.rb +51 -0
  44. data/spec/spec_helper.rb +3 -5
  45. metadata +34 -26
@@ -0,0 +1,288 @@
1
+ !RBIX
2
+ 320290024240201591
3
+ 18
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 28
13
+ 100
14
+ 7
15
+ 0
16
+ 66
17
+ 50
18
+ 1
19
+ 2
20
+ 13
21
+ 100
22
+ 12
23
+ 7
24
+ 2
25
+ 12
26
+ 7
27
+ 3
28
+ 12
29
+ 66
30
+ 12
31
+ 50
32
+ 4
33
+ 4
34
+ 15
35
+ 50
36
+ 2
37
+ 0
38
+ 15
39
+ 2
40
+ 11
41
+ I
42
+ 6
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ I
48
+ 0
49
+ I
50
+ 0
51
+ n
52
+ p
53
+ 5
54
+ x
55
+ 7
56
+ DevDNSd
57
+ x
58
+ 11
59
+ open_module
60
+ x
61
+ 15
62
+ __module_init__
63
+ M
64
+ 1
65
+ p
66
+ 2
67
+ x
68
+ 15
69
+ for_module_body
70
+ t
71
+ n
72
+ x
73
+ 7
74
+ DevDNSd
75
+ i
76
+ 28
77
+ 5
78
+ 67
79
+ 100
80
+ 7
81
+ 0
82
+ 66
83
+ 50
84
+ 1
85
+ 2
86
+ 13
87
+ 100
88
+ 12
89
+ 7
90
+ 2
91
+ 12
92
+ 7
93
+ 3
94
+ 12
95
+ 66
96
+ 12
97
+ 50
98
+ 4
99
+ 4
100
+ 15
101
+ 50
102
+ 2
103
+ 0
104
+ 11
105
+ I
106
+ 6
107
+ I
108
+ 0
109
+ I
110
+ 0
111
+ I
112
+ 0
113
+ I
114
+ 0
115
+ n
116
+ p
117
+ 5
118
+ x
119
+ 7
120
+ Version
121
+ x
122
+ 11
123
+ open_module
124
+ x
125
+ 15
126
+ __module_init__
127
+ M
128
+ 1
129
+ p
130
+ 2
131
+ x
132
+ 15
133
+ for_module_body
134
+ t
135
+ n
136
+ x
137
+ 7
138
+ Version
139
+ i
140
+ 51
141
+ 5
142
+ 67
143
+ 66
144
+ 7
145
+ 0
146
+ 81
147
+ 50
148
+ 1
149
+ 2
150
+ 15
151
+ 66
152
+ 7
153
+ 2
154
+ 4
155
+ 4
156
+ 50
157
+ 1
158
+ 2
159
+ 15
160
+ 66
161
+ 7
162
+ 3
163
+ 79
164
+ 50
165
+ 1
166
+ 2
167
+ 15
168
+ 66
169
+ 7
170
+ 4
171
+ 45
172
+ 0
173
+ 45
174
+ 2
175
+ 45
176
+ 3
177
+ 35
178
+ 3
179
+ 50
180
+ 5
181
+ 0
182
+ 7
183
+ 6
184
+ 65
185
+ 50
186
+ 7
187
+ 1
188
+ 50
189
+ 1
190
+ 2
191
+ 11
192
+ I
193
+ 5
194
+ I
195
+ 0
196
+ I
197
+ 0
198
+ I
199
+ 0
200
+ I
201
+ 0
202
+ n
203
+ p
204
+ 8
205
+ x
206
+ 5
207
+ MAJOR
208
+ x
209
+ 9
210
+ const_set
211
+ x
212
+ 5
213
+ MINOR
214
+ x
215
+ 5
216
+ PATCH
217
+ x
218
+ 6
219
+ STRING
220
+ x
221
+ 7
222
+ compact
223
+ s
224
+ E
225
+ 8
226
+ US-ASCII
227
+ 1
228
+ .
229
+ x
230
+ 4
231
+ join
232
+ p
233
+ 9
234
+ I
235
+ 2
236
+ I
237
+ d
238
+ I
239
+ a
240
+ I
241
+ 10
242
+ I
243
+ 13
244
+ I
245
+ 13
246
+ I
247
+ 1b
248
+ I
249
+ 16
250
+ I
251
+ 33
252
+ x
253
+ 77
254
+ /Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
255
+ p
256
+ 0
257
+ x
258
+ 13
259
+ attach_method
260
+ p
261
+ 3
262
+ I
263
+ 2
264
+ I
265
+ b
266
+ I
267
+ 1c
268
+ x
269
+ 77
270
+ /Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
271
+ p
272
+ 0
273
+ x
274
+ 13
275
+ attach_method
276
+ p
277
+ 3
278
+ I
279
+ 0
280
+ I
281
+ 7
282
+ I
283
+ 1c
284
+ x
285
+ 77
286
+ /Volumes/DATI/Users/Shogun/Programmazione/Ruby/devdnsd/lib/devdnsd/version.rb
287
+ p
288
+ 0
data/.travis-gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
@@ -11,6 +11,5 @@ gemspec
11
11
  # Testing
12
12
  gem "rspec", "~> 2.14.1"
13
13
  gem "rake", "~> 10.1.0"
14
- gem "net-dns", "~> 0.8.0"
15
14
  gem "simplecov", ">= 0.7.1"
16
15
  gem "coveralls", ">= 0.6.7", require: false
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
+ - rbx-19mode
5
6
  script: bundle exec rake spec:coverage
6
7
  gemfile: .travis-gemfile
7
8
  notifications:
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
@@ -11,12 +11,11 @@ gemspec
11
11
  # Testing
12
12
  gem "rspec", "~> 2.14.1"
13
13
  gem "rake", "~> 10.1.0"
14
- gem "net-dns", "~> 0.8.0"
15
14
 
16
15
  # Documentation
17
16
  gem "simplecov", ">= 0.7.1"
18
17
  gem "coveralls", ">= 0.6.7", require: false
19
18
  gem "pry", ">= 0"
20
- gem "yard", ">= 0.8.6"
19
+ gem "yard", ">= 0.8.7"
21
20
  gem "kramdown", ">= 1.1.0"
22
21
  gem "github-markup", ">= 0.7.5"
data/README.md CHANGED
@@ -85,6 +85,8 @@ You can, anyway, run the software as DNS server.
85
85
 
86
86
  ## Copyright
87
87
 
88
- Copyright (C) 2013 and above Shogun (shogun_panda@me.com).
88
+ This software have been made possible by the awesome job of [Samuel Williams](https://github.com/ioquatix), with his [RubyDNS](https://github.com/rubydns) and [RExec](https://github.com/rexec) gems.
89
+
90
+ Copyright (C) 2013 and above Shogun (shogun_panda@cowtech.it).
89
91
 
90
92
  Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2011 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2011 and above Shogun <shogun_panda@cowtech.it>.
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/bin/devdnsd CHANGED
@@ -1,16 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
  # encoding: utf-8
3
3
  #
4
- # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
4
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
5
5
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
6
6
  #
7
7
 
8
8
  require "rubygems"
9
9
  require "devdnsd"
10
10
 
11
- Mamertes.App do
11
+ Bovem::Application.create(name: "DevDNSd Resolver", version: "1.0.0", description: "Gestisce i record DNS via Rackspace Cloud API.") do
12
12
  localizer = Lazier::Localizer.new(:devdnsd, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../locales/")).i18n
13
-
14
13
  name "DevDNSd"
15
14
  description localizer.application_description
16
15
  version DevDNSd::Version::STRING
@@ -24,7 +23,7 @@ Mamertes.App do
24
23
 
25
24
  command :start do
26
25
  description localizer.command_start
27
- option "foreground", [:n], {:help => localizer.application_help_foreground}
26
+ option :foreground, [:n, "foreground"], {:help => localizer.application_help_foreground}
28
27
  action { |command| DevDNSd::Application.instance(command).action_start() }
29
28
  end
30
29
 
@@ -43,7 +42,32 @@ Mamertes.App do
43
42
  action { |command| DevDNSd::Application.instance(command).action_uninstall() }
44
43
  end
45
44
 
45
+ command :aliases do
46
+ description localizer.command_aliases
47
+ option :interface, [], {type: String, help: localizer.application_help_interface, default: "lo0", meta: localizer.application_meta_interface}
48
+ option :addresses, [], {type: Array, help: localizer.application_help_addresses, meta: localizer.application_meta_addresses}
49
+ option :start_address, [:s, "start-address"], {type: String, help: localizer.application_help_start_address, default: "10.0.0.1", meta: localizer.application_meta_address}
50
+ option :aliases, [:S], {type: Integer, help: localizer.application_help_aliases, default: 5, meta: localizer.application_meta_aliases}
51
+ option :add_command, [:A, "add-command"], {type: String, help: localizer.application_help_add_command, default: "sudo ifconfig {{interface}} alias {{address}}", meta: localizer.application_meta_command}
52
+ option :remove_command, [:R, "remove-command"], {type: String, help: localizer.application_help_remove_command, default: "sudo ifconfig {{interface}} -alias {{address}}", meta: localizer.application_meta_command}
53
+ option :dry_run, [:n, "dry-run"], {help: localizer.application_help_dry_run}
54
+
55
+ command :add do
56
+ description localizer.command_add
57
+ action { |command| DevDNSd::Application.instance(command).action_add(command.parent.get_options) }
58
+ end
59
+
60
+ command :remove do
61
+ description localizer.command_remove
62
+ action { |command| DevDNSd::Application.instance(command).action_remove(command.parent.get_options) }
63
+ end
64
+
65
+ action do |command|
66
+ self.commands["add"].execute(command.options[:dry_run].value)
67
+ end
68
+ end
69
+
46
70
  action do |command|
47
- self.commands["start"].execute([])
71
+ DevDNSd::Application.instance(command).action_add(command.get_options)
48
72
  end
49
73
  end
@@ -6,10 +6,9 @@ config.add_rule("match_2.dev", "10.0.2.1", :MX)
6
6
 
7
7
  config.add_rule("match_3.dev") do "10.0.3.1" end
8
8
 
9
- config.add_rule("match_4.dev", :CNAME) do "10.0.4.1" end
9
+ config.add_rule("match_4.dev", :CNAME) do "cowtech.it" end
10
10
 
11
-
12
- config.add_rule(/match_5_(\d+)\.dev/, "10.0.5.$1")
11
+ config.add_rule(/match_5_(\d+)\.dev/, "ns.cowtech.it", :NS)
13
12
 
14
13
  config.add_rule(/match_6_(\d+).dev/, "10.0.6.$1", :PTR)
15
14
 
@@ -17,10 +16,8 @@ config.add_rule(/match_7_(\d+).dev/) do "10.0.7.$1" end
17
16
 
18
17
  config.add_rule(/match_8_(\d+).dev/, :PTR) do "10.0.8.$1" end
19
18
 
20
-
21
19
  config.add_rule("match_9.dev") do false end
22
20
 
23
21
  config.add_rule("match_10.dev", [:A, :MX]) do |match, type, transaction| type == :A ? "10.0.10.1" : "10.0.10.2" end
24
22
 
25
-
26
23
  config.add_rule("quit.dev") do DevDNSd::Application.quit end
data/devdnsd.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #
3
- # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
3
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@cowtech.it>.
4
4
  # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
5
5
  #
6
6
 
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
10
10
  gem.name = "devdnsd"
11
11
  gem.version = DevDNSd::Version::STRING
12
12
  gem.authors = ["Shogun"]
13
- gem.email = ["shogun_panda@me.com"]
13
+ gem.email = ["shogun_panda@cowtech.it"]
14
14
  gem.homepage = "http://sw.cow.tc/devdnsd"
15
15
  gem.summary = %q{A small DNS server to enable local domain resolution.}
16
16
  gem.description = %q{A small DNS server to enable local domain resolution.}
@@ -23,9 +23,10 @@ Gem::Specification.new do |gem|
23
23
 
24
24
  gem.required_ruby_version = ">= 1.9.3"
25
25
 
26
- gem.add_dependency("mamertes", "~> 2.3.0")
27
- gem.add_dependency("rubydns", "~> 0.6.3")
28
- gem.add_dependency("rexec", "~> 1.5.1")
26
+ gem.add_dependency("bovem", "~> 3.0.2")
27
+ gem.add_dependency("rubydns", "~> 0.6.4")
28
+ gem.add_dependency("rexec", "~> 1.5.2")
29
+ gem.add_dependency("mustache", "~> 0.99.4")
29
30
  end
30
31
 
31
32