configlet 1.1.0 → 1.2.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.
@@ -1,3 +1,8 @@
1
+ === 1.2.0 / 2010-05-11
2
+
3
+ * Change Configlet.for to Configlet.config.
4
+ * Deprecate Configlet.for and Configlet.reset.
5
+
1
6
  === 1.1.0 / 2010-02-25
2
7
 
3
8
  * Add Configlet#for, a sugary block form.
@@ -31,7 +31,7 @@ and use it instead.
31
31
  There's also a block form, which is nice if you're setting a lot of
32
32
  defaults:
33
33
 
34
- Configlet.for :thunk do
34
+ Configlet.config :thunk do
35
35
  default :token => "default-token"
36
36
  default :host => "thunk.local"
37
37
  end
@@ -5,7 +5,7 @@
5
5
  module Configlet
6
6
 
7
7
  # What's at the front of our environment variables? This will be
8
- # upcased and a trailing semicolon will be added, so
8
+ # upcased and a trailing underscore will be added, so
9
9
  # <tt>Configlet[:foo]</tt> with a prefix of <tt>thunk</tt> maps to
10
10
  # the <tt>THUNK_FOO</tt> environment variable. Default is +nil+.
11
11
 
@@ -13,7 +13,7 @@ module Configlet
13
13
 
14
14
  # Duh.
15
15
 
16
- VERSION = "1.1.0"
16
+ VERSION = "1.2.0"
17
17
 
18
18
  I = lambda { |v| v } #:nodoc:
19
19
 
@@ -57,16 +57,21 @@ module Configlet
57
57
  # Swanky block form. More pleasant to read when setting multiple
58
58
  # defaults, e.g.,
59
59
  #
60
- # Configlet.for :myapp do
60
+ # Configlet.config :myapp do
61
61
  # default "email.from" => "noreply@myapp.com"
62
62
  # default :host => "myapp.local"
63
63
  # end
64
64
 
65
- def for prefix, &block
65
+ def config prefix, &block
66
66
  self.prefix = prefix
67
67
  instance_eval(&block)
68
68
  end
69
69
 
70
+ def for *args, &block #:nodoc:
71
+ warn "Configlet.for is deprecated, and will be removed in 2.0."
72
+ config(*args, &block)
73
+ end
74
+
70
75
  # Mess with a value when it's retrieved. Useful for turning untyped
71
76
  # environment strings into numbers, booleans, enums, or class
72
77
  # instances. Here's how to munge a boolean:
@@ -88,6 +93,7 @@ module Configlet
88
93
  # Set prefix to +nil+, clear defaults and mungers.
89
94
 
90
95
  def reset
96
+ warn "Configlet.reset is deprecated, and will be removed in 2.0."
91
97
  self.prefix = nil
92
98
 
93
99
  defaults.clear
@@ -2,55 +2,59 @@ require "minitest/autorun"
2
2
  require "configlet"
3
3
 
4
4
  class TestConfiglet < MiniTest::Unit::TestCase
5
+ class Stub
6
+ include Configlet
7
+ end
8
+
5
9
  def setup
10
+ @cfg = Stub.new
6
11
  @env = ENV.to_hash
7
- Configlet.reset
8
12
  end
9
13
 
10
14
  def teardown
11
15
  ENV.replace @env
12
16
  end
13
17
 
14
- def test_default
15
- assert_nil Configlet["foo"]
16
-
17
- Configlet.default :foo => "bar"
18
- assert_equal "bar", Configlet["foo"]
19
- end
20
-
21
- def test_for
18
+ def test_config
22
19
  ENV["PREFIX_FOO"] = "bar"
23
20
 
24
- Configlet.for :prefix do
21
+ @cfg.config :prefix do
25
22
  default :bar => "baz"
26
23
  end
27
24
 
28
- assert_equal "bar", Configlet[:foo]
29
- assert_equal "baz", Configlet[:bar]
25
+ assert_equal "bar", @cfg[:foo]
26
+ assert_equal "baz", @cfg[:bar]
27
+ end
28
+
29
+ def test_default
30
+ assert_nil @cfg["foo"]
31
+
32
+ @cfg.default :foo => "bar"
33
+ assert_equal "bar", @cfg["foo"]
30
34
  end
31
35
 
32
36
  def test_get
33
37
  ENV["FOO"] = "bar"
34
- assert_equal "bar", Configlet[:foo]
38
+ assert_equal "bar", @cfg[:foo]
35
39
 
36
- Configlet.prefix = "boom"
40
+ @cfg.prefix = "boom"
37
41
  ENV["BOOM_FOO"] = "bar"
38
- assert_equal "bar", Configlet[:foo]
42
+ assert_equal "bar", @cfg[:foo]
39
43
  end
40
44
 
41
45
  def test_munge
42
46
  ENV["STUPID"] = "true"
43
- Configlet.munge(:stupid) { |v| "true" == v }
44
- assert_equal true, Configlet[:stupid]
47
+ @cfg.munge(:stupid) { |v| "true" == v }
48
+ assert_equal true, @cfg[:stupid]
45
49
  end
46
50
 
47
51
  def test_set
48
52
  assert_nil ENV["FOO"]
49
- Configlet[:foo] = "bar"
53
+ @cfg[:foo] = "bar"
50
54
  assert_equal "bar", ENV["FOO"]
51
55
 
52
- Configlet.prefix = "pow"
53
- Configlet[:thud] = "zap"
56
+ @cfg.prefix = "pow"
57
+ @cfg[:thud] = "zap"
54
58
  assert_equal "zap", ENV["POW_THUD"]
55
59
  end
56
60
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configlet
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 31
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
- - 1
8
+ - 2
8
9
  - 0
9
- version: 1.1.0
10
+ version: 1.2.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - John Barnette
@@ -14,37 +15,25 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-02-25 00:00:00 -08:00
18
+ date: 2010-05-11 00:00:00 -07:00
18
19
  default_executable:
19
20
  dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: gemcutter
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- - 4
30
- - 1
31
- version: 0.4.1
32
- type: :development
33
- version_requirements: *id001
34
21
  - !ruby/object:Gem::Dependency
35
22
  name: hoe
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
38
26
  requirements:
39
27
  - - ">="
40
28
  - !ruby/object:Gem::Version
29
+ hash: 23
41
30
  segments:
42
31
  - 2
43
- - 5
32
+ - 6
44
33
  - 0
45
- version: 2.5.0
34
+ version: 2.6.0
46
35
  type: :development
47
- version_requirements: *id002
36
+ version_requirements: *id001
48
37
  description: |-
49
38
  A stupid simple wrapper for environment variables.
50
39
 
@@ -80,23 +69,27 @@ rdoc_options:
80
69
  require_paths:
81
70
  - lib
82
71
  required_ruby_version: !ruby/object:Gem::Requirement
72
+ none: false
83
73
  requirements:
84
74
  - - ">="
85
75
  - !ruby/object:Gem::Version
76
+ hash: 3
86
77
  segments:
87
78
  - 0
88
79
  version: "0"
89
80
  required_rubygems_version: !ruby/object:Gem::Requirement
81
+ none: false
90
82
  requirements:
91
83
  - - ">="
92
84
  - !ruby/object:Gem::Version
85
+ hash: 3
93
86
  segments:
94
87
  - 0
95
88
  version: "0"
96
89
  requirements: []
97
90
 
98
91
  rubyforge_project: configlet
99
- rubygems_version: 1.3.6
92
+ rubygems_version: 1.3.7.pre.1
100
93
  signing_key:
101
94
  specification_version: 3
102
95
  summary: A stupid simple wrapper for environment variables