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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b648c4b43870869cc0ca377f48c02ebeab6f1ac
4
- data.tar.gz: 64dc8c2906f4a3527734422b859e42948826cdf1
3
+ metadata.gz: e86c63c0df9fb463d522f48bfb6bb1bba34ca264
4
+ data.tar.gz: e0d478ea1c12a89749ab6e7e1992d861bcc78a47
5
5
  SHA512:
6
- metadata.gz: e5054c5973bc03b74ec5d260e208f63382b54f838b0f847f74078a42cdbbc3d372b2c858b91da79b6cd573d2ba15c91457e23d64e0bfde2a5c9430ab2ed6f6d8
7
- data.tar.gz: 75adba2ac56d7ca682a55b833578d04d4f3a3f881b92c511cc9a314df80f4c9f6d3d489df0bc15cc77f2f90b67b70e22563fcba8e569961afb4c4cc22ddec1c5
6
+ metadata.gz: 7b241da3f9e2ce257d4ebe5865f97f5b78cf697f9015f5f017c9547fc9928d9b7eef9af51f20a95ec6854eb73e6880498d431f7ea68f90818a6a2c22afcbe034
7
+ data.tar.gz: 46fc7084e593df3e1ecf7bd23cbd973af2946f7bc575a7dd811c674b37775d6aad4f1749b21792bfe48e8f93ec5e36be351ed2296a648726ab78538f44a9b2bf
data/.gitignore CHANGED
@@ -2,7 +2,7 @@ Gemfile.lock
2
2
  tester.rb
3
3
  coverage/
4
4
  pkg/
5
- utils/
5
+ tmp/
6
6
  .idea/
7
7
  .yardoc/
8
- .bundle/
8
+ .bundle
@@ -0,0 +1,82 @@
1
+ #
2
+ # This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun@cowtech.it>.
3
+ # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
4
+ #
5
+
6
+ AllCops:
7
+ TargetRubyVersion: 2.3
8
+ Include:
9
+ - "*/**/.rb"
10
+ - "config.ru"
11
+ - "Rakefile"
12
+ - "Gemfile"
13
+ Exclude:
14
+ - "config/**/*"
15
+ - "db/**/*"
16
+ - "spec/**/*"
17
+
18
+ Alias:
19
+ Enabled: false
20
+
21
+ AsciiComments:
22
+ Enabled: false
23
+
24
+ BracesAroundHashParameters:
25
+ Enabled: false
26
+
27
+ CyclomaticComplexity:
28
+ Max: 15
29
+
30
+ ClassLength:
31
+ Max: 150
32
+
33
+ Documentation:
34
+ Enabled: false
35
+
36
+ EachWithObject:
37
+ Enabled: false
38
+
39
+ FormatString:
40
+ Enabled: false
41
+
42
+ FrozenStringLiteralComment:
43
+ Enabled: false
44
+
45
+ IndentationConsistency:
46
+ Enabled: false
47
+
48
+ LineLength:
49
+ Max: 160
50
+
51
+ MethodLength:
52
+ Max: 15
53
+
54
+ ModuleLength:
55
+ Max: 200
56
+
57
+ MultilineMethodCallIndentation:
58
+ Enabled: false
59
+
60
+ ParameterLists:
61
+ Max: 8
62
+
63
+ RegexpLiteral:
64
+ Enabled: false
65
+
66
+ SignalException:
67
+ Enabled: false
68
+
69
+ SpaceInsideHashLiteralBraces:
70
+ Enabled: false
71
+
72
+ StringLiterals:
73
+ Enabled: false
74
+
75
+ StringLiteralsInInterpolation:
76
+ Enabled: false
77
+
78
+ StringReplacement:
79
+ Enabled: false
80
+
81
+ WordArray:
82
+ Enabled: false
@@ -9,13 +9,7 @@ source "http://rubygems.org"
9
9
  gemspec
10
10
 
11
11
  # Testing
12
- gem "rspec", "~> 2.14.1"
13
- gem "rake", "~> 10.1.1"
14
- gem "simplecov", ">= 0.8.2"
15
- gem "coveralls", ">= 0.7.0", require: false
16
-
17
- platforms :rbx do
18
- gem "racc"
19
- gem "rubysl", "~> 2.0"
20
- gem "psych"
21
- end
12
+ gem "rspec", "~> 3.4"
13
+ gem "rake", "~> 11.0"
14
+ gem "simplecov", "~> 0.11"
15
+ gem "coveralls", "~> 0.8", require: false
@@ -1,9 +1,15 @@
1
+ #
2
+ # This file is part of the bovem gem. Copyright (C) 2013 and above Shogun <shogun@cowtech.it>.
3
+ # Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
4
+ #
5
+
1
6
  language: ruby
2
7
  rvm:
3
- - 2.0.0
4
- - 2.1.0
5
- - rbx
6
- script: bundle exec rake spec:coverage
8
+ - 2.3.0
9
+ script: bundle exec rake spec:ci
7
10
  gemfile: .travis-gemfile
8
11
  notifications:
9
- email: false
12
+ email: false
13
+ addons:
14
+ code_climate:
15
+ repo_token: bac83dc8b02f38cc87f2d3b6dab710a3b6c80cca3772687f5a6c3b8697dce9c3
@@ -1,3 +1,14 @@
1
+ ### 4.0.0 / 2016-03-30
2
+
3
+ * Refactored `DevDNSd::Application`.
4
+ * Changed signatures of `DevDNSd::Rule.create` and `DevDNSd::Rule#initialize`.
5
+ * Changed signatures of `DevDNSd::Configuration.add_rule`.
6
+ * Removed `DevDNSd::Aliases#is_ipv4?` and `DevDNSd::Aliases#is_ipv6?` aliases.
7
+ * Dropped support for Ruby < 2.3.
8
+ * Replaced `rexec` with `process-daemon`.
9
+ * Updated dependencies.
10
+ * Linted code.
11
+
1
12
  ### 3.1.2 / 2014-03-29
2
13
 
3
14
  * Minor fixes.
data/Gemfile CHANGED
@@ -9,13 +9,14 @@ source "http://rubygems.org"
9
9
  gemspec
10
10
 
11
11
  # Testing
12
- gem "rspec", "~> 2.14.1"
13
- gem "rake", "~> 10.1.1"
12
+ gem "rspec", "~> 3.4"
13
+ gem "rake", "~> 11.0"
14
14
 
15
15
  # Documentation
16
- gem "simplecov", ">= 0.8.2"
17
- gem "coveralls", ">= 0.7.0", require: false
18
- gem "pry", ">= 0"
19
- gem "yard", ">= 0.8.7.3"
20
- gem "kramdown", ">= 1.3.2"
21
- gem "github-markup", ">= 1.0.3"
16
+ gem "simplecov", "~> 0.11"
17
+ gem "coveralls", "~> 0.8", require: false
18
+ gem "pry", "~> 0.10"
19
+ gem "yard", "~> 0.8"
20
+ gem "kramdown", "~> 1.10"
21
+ gem "github-markup", "~> 1.4"
22
+ gem "rubocop", "~> 0.39"
data/README.md CHANGED
@@ -5,11 +5,10 @@
5
5
  [![Build Status](https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master)](http://travis-ci.org/ShogunPanda/devdnsd)
6
6
  [![Code Climate](https://codeclimate.com/github/ShogunPanda/devdnsd.png)](https://codeclimate.com/github/ShogunPanda/devdnsd)
7
7
  [![Coverage Status](https://coveralls.io/repos/ShogunPanda/devdnsd/badge.png)](https://coveralls.io/r/ShogunPanda/devdnsd)
8
- [![Bitdeli Trend](https://d2weczhvl823v0.cloudfront.net/ShogunPanda/devdnsd/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
9
8
 
10
9
  A small DNS server to enable local .dev domain resolution.
11
10
 
12
- http://sw.cow.tc/devdnsd
11
+ http://sw.cowtech.it/devdnsd
13
12
 
14
13
  http://rdoc.info/gems/devdnsd
15
14
 
@@ -36,8 +35,8 @@ Of course, DevDNSd is inspired by [pow](https://github.com/37signals/pow), but i
36
35
  If you experience slowness in resolving host from clients (Chrome, curl etc.) when you don't specify the address type, make sure you have both a `A` and `AAAA` rules set for the same host, like this:
37
36
 
38
37
  ```ruby
39
- config.add_rule(/\.dev$/, "127.0.0.1")
40
- config.add_rule(/\.dev$/, "::1", :AAAA)
38
+ config.add_rule(match: /\.dev$/, reply: "127.0.0.1")
39
+ config.add_rule(match: /\.dev$/, reply: "::1", type: :AAAA)
41
40
  ```
42
41
 
43
42
  ## Advanced usage
@@ -95,7 +94,7 @@ You can, anyway, run the software as DNS server.
95
94
 
96
95
  ## Copyright
97
96
 
98
- 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.
97
+ 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 [process-daemon](https://github.com/process-daemon) gems.
99
98
 
100
99
  Copyright (C) 2013 and above Shogun (shogun@cowtech.it).
101
100
 
data/Rakefile CHANGED
@@ -7,23 +7,39 @@
7
7
  require "bundler/gem_tasks"
8
8
  require "rspec/core/rake_task"
9
9
 
10
+ # Compatibility layer for Rake 11.0
11
+ Rake.application.class.send(:alias_method, :last_comment, :last_description) unless Rake.application.respond_to?(:last_comment)
12
+
10
13
  RSpec::Core::RakeTask.new("spec")
11
- RSpec::Core::RakeTask.new("spec:coverage") { |t| t.ruby_opts = "-r./spec/coverage_helper" }
12
14
 
13
- desc "Generate the documentation"
15
+ RSpec::Core::RakeTask.new("spec:coverage") do
16
+ ENV["COVERAGE"] = "true"
17
+ end
18
+
19
+ RSpec::Core::RakeTask.new("spec:ci") do
20
+ ENV["COVERAGE"] = "true"
21
+ ENV["NO_COLOR"] = "true"
22
+ end
23
+
24
+ desc "Performs linting of the code using rubocop"
25
+ task "lint" do
26
+ Kernel.exec("rubocop -ED bin lib")
27
+ end
28
+
29
+ desc "Generates the documentation"
14
30
  task :docs do
15
31
  system("yardoc") || raise("Failed Execution of: yardoc")
16
32
  end
17
-
18
- desc "Get the current release version"
33
+
34
+ desc "Gets the current release version"
19
35
  task :version, :with_name do |_, args|
20
36
  gem = Bundler::GemHelper.instance.gemspec
21
37
  puts [args[:with_name] == "true" ? gem.name : nil, gem.version].compact.join("-")
22
38
  end
23
39
 
24
- desc "Prepare the release"
40
+ desc "Prepares the release"
25
41
  task :prerelease => ["spec:coverage", "docs"] do
26
42
  ["git add -A", "git commit -am \"Version #{Bundler::GemHelper.instance.gemspec.version}\""].each do |cmd|
27
43
  system(cmd) || raise("Failed Execution of: #{cmd}")
28
44
  end
29
- end
45
+ end
@@ -5,94 +5,100 @@
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
- require "rubygems"
8
+ $:.unshift(File.absolute_path(File.dirname(__FILE__) + "/../lib/"))
9
9
  require "devdnsd"
10
10
 
11
11
  Bovem::Application.create do
12
- localizer = Lazier::Localizer.new(:devdnsd, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../locales/")).i18n
12
+ i18n = Bovem::I18n.new(root: "devdnsd", path: ::Pathname.new(::File.dirname(__FILE__)).to_s + "/../locales/")
13
13
  name "DevDNSd"
14
- description localizer.application_description
14
+ description i18n.application_description
15
15
  version DevDNSd::Version::STRING
16
16
 
17
- option :configuration, [], {type: String, help: localizer.application_help_configuration, default: "~/.devdnsd/default.conf", meta: localizer.application_meta_file}
18
- option :tld, [], {type: String, help: localizer.application_help_tld, default: "dev", meta: localizer.application_meta_domain}
19
- option :port, [], {type: Integer, help: localizer.application_help_port, default: 7771, meta: localizer.application_meta_port}
20
- option :pid_file, [:P, "pid-file"], {type: String, help: localizer.application_help_pid_file, default: "~/.devdnsd/daemon.pid", meta: localizer.application_meta_file}
21
- option :log_file, [:l, "log-file"], {type: String, help: localizer.application_help_log_file, default: "~/.devdnsd/daemon.log", meta: localizer.application_meta_file}
22
- option :log_level, [:L, "log-level"], {type: Integer, help: localizer.application_help_log_level, default: 1, meta: localizer.application_meta_level}
17
+ option :configuration, [], {type: String, help: i18n.application_help_configuration, default: "~/.devdnsd/default.conf", meta: i18n.application_meta_file}
18
+ option :tld, [], {type: String, help: i18n.application_help_tld, default: "dev", meta: i18n.application_meta_domain}
19
+ option :port, [], {type: Integer, help: i18n.application_help_port, default: 7771, meta: i18n.application_meta_port}
20
+ option :pid_file, [:P, "pid-file"], {type: String, help: i18n.application_help_pid_file, default: "~/.devdnsd/daemon.pid", meta: i18n.application_meta_file}
21
+ option :log_file, [:l, "log-file"], {type: String, help: i18n.application_help_log_file, default: "~/.devdnsd/daemon.log", meta: i18n.application_meta_file}
22
+ option :log_level, [:L, "log-level"], {type: Integer, help: i18n.application_help_log_level, default: 1, meta: i18n.application_meta_level}
23
23
 
24
24
  command :start do
25
- description localizer.command_start
26
- option :foreground, [:n, "foreground"], {help: localizer.application_help_foreground}
25
+ description i18n.command_start
26
+ option :foreground, [:n, "foreground"], {help: i18n.application_help_foreground}
27
27
  action { |command| DevDNSd::Application.instance(command).action_start }
28
28
  end
29
29
 
30
30
  command :status do
31
- description localizer.command_status
32
- action { |command|
31
+ description i18n.command_status
32
+ action do |command|
33
33
  command.application.options[:log_file].set("STDOUT")
34
34
  DevDNSd::Application.instance(command).action_status
35
- }
35
+ end
36
36
  end
37
37
 
38
38
  command :stop do
39
- description localizer.command_stop
39
+ description i18n.command_stop
40
40
  action { |command| DevDNSd::Application.instance(command).action_stop }
41
41
  end
42
42
 
43
43
  command :restart do
44
- description localizer.command_restart
44
+ description i18n.command_restart
45
45
  action { |command| DevDNSd::Application.instance(command).action_restart }
46
46
  end
47
47
 
48
48
  command :install do
49
- description localizer.command_install
50
- action { |command|
49
+ description i18n.command_install
50
+ action do |command|
51
51
  command.application.options[:log_file].set("STDOUT")
52
52
  DevDNSd::Application.instance(command).action_install
53
- }
53
+ end
54
54
  end
55
55
 
56
56
  command :uninstall do
57
- description localizer.command_uninstall
58
- action { |command|
57
+ description i18n.command_uninstall
58
+ action do |command|
59
59
  command.application.options[:log_file].set("STDOUT")
60
60
  DevDNSd::Application.instance(command).action_uninstall
61
- }
61
+ end
62
62
  end
63
63
 
64
64
  command :clean do
65
- description localizer.command_clean
66
- action { |command|
65
+ description i18n.command_clean
66
+ action do |command|
67
67
  command.application.options[:log_file].set("STDOUT")
68
68
  app = DevDNSd::Application.instance(command)
69
69
  app.logger.warn(app.i18n.admin_privileges_warning)
70
70
  app.dns_update
71
- }
71
+ end
72
72
  end
73
73
 
74
74
  command :aliases do
75
- description localizer.command_aliases
76
- option :interface, [], {type: String, help: localizer.application_help_interface, default: "lo0", meta: localizer.application_meta_interface}
77
- option :addresses, [], {type: Array, help: localizer.application_help_addresses, meta: localizer.application_meta_addresses}
78
- option :start_address, [:s, "start-address"], {type: String, help: localizer.application_help_start_address, default: "10.0.0.1", meta: localizer.application_meta_address}
79
- option :aliases, [:S], {type: Integer, help: localizer.application_help_aliases, default: 5, meta: localizer.application_meta_aliases}
80
- 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}
81
- 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}
82
- option :dry_run, [:n, "dry-run"], {help: localizer.application_help_dry_run}
75
+ description i18n.command_aliases
76
+ option :interface, [], {type: String, help: i18n.application_help_interface, default: "lo0", meta: i18n.application_meta_interface}
77
+ option :addresses, [], {type: Array, help: i18n.application_help_addresses, meta: i18n.application_meta_addresses}
78
+ option :start_address, [:s, "start-address"], {
79
+ type: String, help: i18n.application_help_start_address, default: "10.0.0.1", meta: i18n.application_meta_address
80
+ }
81
+ option :aliases, [:S], {type: Integer, help: i18n.application_help_aliases, default: 5, meta: i18n.application_meta_aliases}
82
+ option :add_command, [:A, "add-command"], {
83
+ type: String, help: i18n.application_help_add_command, default: "sudo ifconfig {{interface}} alias {{address}}", meta: i18n.application_meta_command
84
+ }
85
+ option :remove_command, [:R, "remove-command"], {
86
+ type: String, help: i18n.application_help_remove_command, default: "sudo ifconfig {{interface}} -alias {{address}}", meta: i18n.application_meta_command
87
+ }
88
+ option :dry_run, [:n, "dry-run"], {help: i18n.application_help_dry_run}
83
89
 
84
90
  command :add do
85
- description localizer.command_add
91
+ description i18n.command_add
86
92
  action { |command| DevDNSd::Application.instance(command).action_add(command.parent.get_options) }
87
93
  end
88
94
 
89
95
  command :remove do
90
- description localizer.command_remove
96
+ description i18n.command_remove
91
97
  action { |command| DevDNSd::Application.instance(command).action_remove(command.parent.get_options) }
92
98
  end
93
99
 
94
100
  action do |command|
95
- self.commands["add"].execute(command.options[:dry_run].value)
101
+ commands["add"].execute(command.options[:dry_run].value)
96
102
  end
97
103
  end
98
104
 
@@ -1,23 +1,23 @@
1
1
  config.log_file = "/tmp/devdnsd-test-log.log"
2
2
 
3
- config.add_rule("match_1.dev", "10.0.1.1")
3
+ config.add_rule(match: "match_1.dev", reply: "10.0.1.1")
4
4
 
5
- config.add_rule("match_2.dev", "10.0.2.1", :MX)
5
+ config.add_rule(match: "match_2.dev", reply: "10.0.2.1", type: :MX)
6
6
 
7
- config.add_rule("match_3.dev") do "10.0.3.1" end
7
+ config.add_rule(match: "match_3.dev") do "10.0.3.1" end
8
8
 
9
- config.add_rule("match_4.dev", :CNAME) do "cowtech.it" end
9
+ config.add_rule(match: "match_4.dev", type: :CNAME) do "cowtech.it" end
10
10
 
11
- config.add_rule(/match_5_(\d+)\.dev/, "ns.cowtech.it", :NS)
11
+ config.add_rule(match: /match_5_(\d+)\.dev/, reply: "ns.cowtech.it", type: :NS)
12
12
 
13
- config.add_rule(/match_6_(\d+).dev/, "10.0.6.$1", :PTR)
13
+ config.add_rule(match: /match_6_(\d+).dev/, reply: "10.0.6.$1", type: :PTR)
14
14
 
15
- config.add_rule(/match_7_(\d+).dev/) do "10.0.7.$1" end
15
+ config.add_rule(match: /match_7_(\d+).dev/) do "10.0.7.$1" end
16
16
 
17
- config.add_rule(/match_8_(\d+).dev/, :PTR) do "10.0.8.$1" end
17
+ config.add_rule(match: /match_8_(\d+).dev/, type: :PTR) do "10.0.8.$1" end
18
18
 
19
- config.add_rule("match_9.dev") do false end
19
+ config.add_rule(match: "match_9.dev") do false end
20
20
 
21
- config.add_rule("match_10.dev", [:A, :MX]) do |match, type, transaction| type == :A ? "10.0.10.1" : "10.0.10.2" end
21
+ config.add_rule(match: "match_10.dev", type: [:A, :MX]) do |match, type, transaction| type == :A ? "10.0.10.1" : "10.0.10.2" end
22
22
 
23
- config.add_rule("quit.dev") do DevDNSd::Application.quit end
23
+ config.add_rule(match: "quit.dev") do DevDNSd::Application.quit end
@@ -9,7 +9,7 @@ require "./lib/devdnsd/version"
9
9
  Gem::Specification.new do |gem|
10
10
  gem.name = "devdnsd"
11
11
  gem.version = DevDNSd::Version::STRING
12
- gem.homepage = "http://sw.cow.tc/devdnsd"
12
+ gem.homepage = "http://sw.cowtech.it/devdnsd"
13
13
  gem.summary = %q{A small DNS server to enable local domain resolution.}
14
14
  gem.description = %q{A small DNS server to enable local domain resolution.}
15
15
  gem.rubyforge_project = "devdnsd"
@@ -23,12 +23,13 @@ Gem::Specification.new do |gem|
23
23
  gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
24
  gem.require_paths = ["lib"]
25
25
 
26
- gem.required_ruby_version = ">= 1.9.3"
26
+ gem.required_ruby_version = ">= 2.3.0"
27
27
 
28
- gem.add_dependency("bovem", "~> 3.0.5")
29
- gem.add_dependency("rubydns", "~> 0.7.0")
30
- gem.add_dependency("mustache", "~> 0.99.5")
31
- gem.add_dependency("plist", "~> 3.1.0")
28
+ gem.add_dependency("bovem", "~> 4.0")
29
+ gem.add_dependency("rubydns", "~> 1.0")
30
+ gem.add_dependency("process-daemon", "~> 1.0")
31
+ gem.add_dependency("mustache", "~> 1.0")
32
+ gem.add_dependency("plist", "~> 3.2")
32
33
  end
33
34
 
34
35