configlet 1.3.0 → 2.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.
- data/CHANGELOG.rdoc +6 -0
- data/README.rdoc +14 -0
- data/lib/configlet.rb +9 -12
- data/test/test_configlet.rb +12 -1
- metadata +6 -10
    
        data/CHANGELOG.rdoc
    CHANGED
    
    
    
        data/README.rdoc
    CHANGED
    
    | @@ -45,6 +45,20 @@ resolved the first time its value is grabbed. | |
| 45 45 | 
             
            Configlet is a module, so +include+ or +extend+ it wherever you
         | 
| 46 46 | 
             
            want. It extends itself for your convenience.
         | 
| 47 47 |  | 
| 48 | 
            +
            == Transformation
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            Want something other than a string? You can munge any value:
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                default :url => "http://example.org"
         | 
| 53 | 
            +
                munge(:url) { |v| URI.parse v }
         | 
| 54 | 
            +
                Configlet[:url] # => #<URI::HTTP:0xdeadbeef URL:http://example.org>
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            In fact, there's a shortcut just for URLs. I haven't added any others
         | 
| 57 | 
            +
            'cause I haven't needed to care:
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                url :url => "http://example.org"
         | 
| 60 | 
            +
                Configlet[:url] # => #<URI::HTTP:0xcafebabe URL:http://example.org>
         | 
| 61 | 
            +
             | 
| 48 62 | 
             
            == Installation
         | 
| 49 63 |  | 
| 50 64 | 
             
                $ gem install configlet
         | 
    
        data/lib/configlet.rb
    CHANGED
    
    | @@ -13,7 +13,7 @@ module Configlet | |
| 13 13 |  | 
| 14 14 | 
             
              # Duh.
         | 
| 15 15 |  | 
| 16 | 
            -
              VERSION = " | 
| 16 | 
            +
              VERSION = "2.0.0"
         | 
| 17 17 |  | 
| 18 18 | 
             
              I = lambda { |v| v } #:nodoc:
         | 
| 19 19 |  | 
| @@ -88,11 +88,6 @@ module Configlet | |
| 88 88 | 
             
                instance_eval(&block)
         | 
| 89 89 | 
             
              end
         | 
| 90 90 |  | 
| 91 | 
            -
              def for *args, &block #:nodoc:
         | 
| 92 | 
            -
                warn "Configlet.for is deprecated, and will be removed in 2.0."
         | 
| 93 | 
            -
                config(*args, &block)
         | 
| 94 | 
            -
              end
         | 
| 95 | 
            -
             | 
| 96 91 | 
             
              # Mess with a value when it's retrieved. Useful for turning untyped
         | 
| 97 92 | 
             
              # environment strings into numbers, booleans, enums, or class
         | 
| 98 93 | 
             
              # instances. Here's how to munge a boolean:
         | 
| @@ -111,14 +106,16 @@ module Configlet | |
| 111 106 | 
             
                @mungers ||= Hash.new { |h, k| I }
         | 
| 112 107 | 
             
              end
         | 
| 113 108 |  | 
| 114 | 
            -
              #  | 
| 109 | 
            +
              # Behaves exactly like +default+, but additionally installs a munger
         | 
| 110 | 
            +
              # for each key that calls <tt>URI.parse</tt>.
         | 
| 115 111 |  | 
| 116 | 
            -
              def  | 
| 117 | 
            -
                 | 
| 118 | 
            -
                 | 
| 112 | 
            +
              def url args, &block
         | 
| 113 | 
            +
                default args, &block
         | 
| 114 | 
            +
                require "uri"
         | 
| 119 115 |  | 
| 120 | 
            -
                 | 
| 121 | 
            -
             | 
| 116 | 
            +
                (args.keys rescue [args]).each do |key|
         | 
| 117 | 
            +
                  munge(key) { |v| URI.parse v }
         | 
| 118 | 
            +
                end
         | 
| 122 119 | 
             
              end
         | 
| 123 120 |  | 
| 124 121 | 
             
              extend self
         | 
    
        data/test/test_configlet.rb
    CHANGED
    
    | @@ -1,5 +1,6 @@ | |
| 1 | 
            -
            require "minitest/autorun"
         | 
| 2 1 | 
             
            require "configlet"
         | 
| 2 | 
            +
            require "minitest/autorun"
         | 
| 3 | 
            +
            require "uri"
         | 
| 3 4 |  | 
| 4 5 | 
             
            class TestConfiglet < MiniTest::Unit::TestCase
         | 
| 5 6 | 
             
              class Stub
         | 
| @@ -74,4 +75,14 @@ class TestConfiglet < MiniTest::Unit::TestCase | |
| 74 75 | 
             
                @cfg[:thud] = "zap"
         | 
| 75 76 | 
             
                assert_equal "zap", ENV["POW_THUD"]
         | 
| 76 77 | 
             
              end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
              def test_url
         | 
| 80 | 
            +
                @cfg.url :example => "http://example.org"
         | 
| 81 | 
            +
                assert_equal URI.parse("http://example.org"), @cfg[:example]
         | 
| 82 | 
            +
              end
         | 
| 83 | 
            +
             | 
| 84 | 
            +
              def test_url_block
         | 
| 85 | 
            +
                @cfg.url(:example) { "http://example.org" }
         | 
| 86 | 
            +
                assert_equal URI.parse("http://example.org"), @cfg[:example]
         | 
| 87 | 
            +
              end
         | 
| 77 88 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,12 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: configlet
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash: 27
         | 
| 5 4 | 
             
              prerelease: false
         | 
| 6 5 | 
             
              segments: 
         | 
| 7 | 
            -
              -  | 
| 8 | 
            -
              - 3
         | 
| 6 | 
            +
              - 2
         | 
| 9 7 | 
             
              - 0
         | 
| 10 | 
            -
               | 
| 8 | 
            +
              - 0
         | 
| 9 | 
            +
              version: 2.0.0
         | 
| 11 10 | 
             
            platform: ruby
         | 
| 12 11 | 
             
            authors: 
         | 
| 13 12 | 
             
            - John Barnette
         | 
| @@ -15,7 +14,7 @@ autorequire: | |
| 15 14 | 
             
            bindir: bin
         | 
| 16 15 | 
             
            cert_chain: []
         | 
| 17 16 |  | 
| 18 | 
            -
            date: 2010- | 
| 17 | 
            +
            date: 2010-09-28 00:00:00 -07:00
         | 
| 19 18 | 
             
            default_executable: 
         | 
| 20 19 | 
             
            dependencies: 
         | 
| 21 20 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -26,12 +25,11 @@ dependencies: | |
| 26 25 | 
             
                requirements: 
         | 
| 27 26 | 
             
                - - ">="
         | 
| 28 27 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 29 | 
            -
                    hash: 23
         | 
| 30 28 | 
             
                    segments: 
         | 
| 31 29 | 
             
                    - 2
         | 
| 32 30 | 
             
                    - 6
         | 
| 33 | 
            -
                    -  | 
| 34 | 
            -
                    version: 2.6. | 
| 31 | 
            +
                    - 2
         | 
| 32 | 
            +
                    version: 2.6.2
         | 
| 35 33 | 
             
              type: :development
         | 
| 36 34 | 
             
              version_requirements: *id001
         | 
| 37 35 | 
             
            description: |-
         | 
| @@ -73,7 +71,6 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 73 71 | 
             
              requirements: 
         | 
| 74 72 | 
             
              - - ">="
         | 
| 75 73 | 
             
                - !ruby/object:Gem::Version 
         | 
| 76 | 
            -
                  hash: 3
         | 
| 77 74 | 
             
                  segments: 
         | 
| 78 75 | 
             
                  - 0
         | 
| 79 76 | 
             
                  version: "0"
         | 
| @@ -82,7 +79,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 82 79 | 
             
              requirements: 
         | 
| 83 80 | 
             
              - - ">="
         | 
| 84 81 | 
             
                - !ruby/object:Gem::Version 
         | 
| 85 | 
            -
                  hash: 3
         | 
| 86 82 | 
             
                  segments: 
         | 
| 87 83 | 
             
                  - 0
         | 
| 88 84 | 
             
                  version: "0"
         |