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>
         |