configatron 4.4.0 → 4.4.1
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/History.txt +4 -0
- data/README.md +8 -0
- data/lib/configatron/root_store.rb +24 -4
- data/lib/configatron/version.rb +1 -1
- metadata +4 -4
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -191,6 +191,14 @@ configatron.current.time = Configatron::Dynamic.new {Time.now}
|
|
191
191
|
|
192
192
|
Each time you call `configatron.current.time` it will return a new value to you. While this seems a bit useless, it is pretty useful if you have ever changing configurations.
|
193
193
|
|
194
|
+
### Reseting Configurations
|
195
|
+
|
196
|
+
In some testing scenarios, it can be helpful to restore Configatron to its default state. This can be done with:
|
197
|
+
|
198
|
+
```ruby
|
199
|
+
configatron.reset!
|
200
|
+
```
|
201
|
+
|
194
202
|
### Checking keys
|
195
203
|
|
196
204
|
Even if parameters haven't been set, you can still call them, but you'll get a `Configatron::Store` object back. You can use `.has_key?` to determine if a key already exists.
|
@@ -52,12 +52,32 @@ class Configatron::RootStore < BasicObject
|
|
52
52
|
@locked
|
53
53
|
end
|
54
54
|
|
55
|
-
def lock!
|
56
|
-
|
55
|
+
def lock!(&blk)
|
56
|
+
if blk
|
57
|
+
orig = @locked
|
58
|
+
begin
|
59
|
+
@locked = true
|
60
|
+
blk.call
|
61
|
+
ensure
|
62
|
+
@locked = orig
|
63
|
+
end
|
64
|
+
else
|
65
|
+
@locked = true
|
66
|
+
end
|
57
67
|
end
|
58
68
|
|
59
|
-
def unlock!
|
60
|
-
|
69
|
+
def unlock!(&blk)
|
70
|
+
if blk
|
71
|
+
orig = @locked
|
72
|
+
begin
|
73
|
+
@locked = false
|
74
|
+
blk.call
|
75
|
+
ensure
|
76
|
+
@locked = orig
|
77
|
+
end
|
78
|
+
else
|
79
|
+
@locked = false
|
80
|
+
end
|
61
81
|
end
|
62
82
|
|
63
83
|
def_delegator :@store, :to_s
|
data/lib/configatron/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: configatron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.4.
|
4
|
+
version: 4.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
138
|
version: '0'
|
139
139
|
segments:
|
140
140
|
- 0
|
141
|
-
hash:
|
141
|
+
hash: 630343520399706403
|
142
142
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
143
|
none: false
|
144
144
|
requirements:
|
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
147
|
version: '0'
|
148
148
|
segments:
|
149
149
|
- 0
|
150
|
-
hash:
|
150
|
+
hash: 630343520399706403
|
151
151
|
requirements: []
|
152
152
|
rubyforge_project:
|
153
153
|
rubygems_version: 1.8.25
|