configuration 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +1 -0
- data/configuration.gemspec +2 -2
- data/lib/configuration.rb +33 -2
- metadata +21 -9
data/LICENSE
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
same as ruby's
|
data/configuration.gemspec
CHANGED
@@ -3,11 +3,11 @@
|
|
3
3
|
|
4
4
|
Gem::Specification::new do |spec|
|
5
5
|
spec.name = "configuration"
|
6
|
-
spec.version = "1.
|
6
|
+
spec.version = "1.2.0"
|
7
7
|
spec.platform = Gem::Platform::RUBY
|
8
8
|
spec.summary = "configuration"
|
9
9
|
|
10
|
-
spec.files = ["config", "config/a.rb", "config/b.rb", "config/c.rb", "config/d.rb", "config/e.rb", "configuration.gemspec", "lib", "lib/configuration.rb", "Rakefile", "README", "README.erb", "samples", "samples/a.rb", "samples/b.rb", "samples/c.rb", "samples/d.rb", "samples/e.rb"]
|
10
|
+
spec.files = ["config", "config/a.rb", "config/b.rb", "config/c.rb", "config/d.rb", "config/e.rb", "configuration.gemspec", "lib", "lib/configuration.rb", "LICENSE", "Rakefile", "README", "README.erb", "samples", "samples/a.rb", "samples/b.rb", "samples/c.rb", "samples/d.rb", "samples/e.rb"]
|
11
11
|
spec.executables = []
|
12
12
|
|
13
13
|
|
data/lib/configuration.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
class Configuration
|
2
|
-
Configuration::Version = '1.
|
2
|
+
Configuration::Version = '1.2.0'
|
3
3
|
def Configuration.version() Configuration::Version end
|
4
4
|
|
5
5
|
Path = [
|
@@ -12,7 +12,6 @@ class Configuration
|
|
12
12
|
|
13
13
|
Table = Hash.new
|
14
14
|
Error = Class.new StandardError
|
15
|
-
Import = Class.new Error
|
16
15
|
|
17
16
|
module ClassMethods
|
18
17
|
def for name, options = nil, &block
|
@@ -72,6 +71,38 @@ class Configuration
|
|
72
71
|
return(Pure[@__parent].send m, *a, &b) rescue super if @__parent
|
73
72
|
super
|
74
73
|
end
|
74
|
+
|
75
|
+
include Enumerable
|
76
|
+
|
77
|
+
def each
|
78
|
+
methods(false).each{|v| yield v }
|
79
|
+
end
|
80
|
+
|
81
|
+
def to_hash
|
82
|
+
inject({}){ |h,name|
|
83
|
+
val = __send__(name.to_sym)
|
84
|
+
h.update name.to_sym => Configuration === val ? val.to_hash : val
|
85
|
+
}
|
86
|
+
end
|
87
|
+
|
88
|
+
def update options = {}, &block
|
89
|
+
DSL.evaluate(self, options, &block)
|
90
|
+
end
|
91
|
+
|
92
|
+
def dup
|
93
|
+
ret = self.class.new @name
|
94
|
+
each do |name|
|
95
|
+
val = __send__ name.to_sym
|
96
|
+
if Configuration === val
|
97
|
+
val = val.dup
|
98
|
+
val.instance_variable_set('@__parent', ret)
|
99
|
+
DSL.evaluate(ret, name.to_sym => val)
|
100
|
+
else
|
101
|
+
DSL.evaluate(ret, name.to_sym => (val.dup rescue val))
|
102
|
+
end
|
103
|
+
end
|
104
|
+
ret
|
105
|
+
end
|
75
106
|
end
|
76
107
|
send :include, InstanceMethods
|
77
108
|
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: configuration
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 31
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 1.2.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Ara T. Howard
|
@@ -9,7 +15,7 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-11-18 00:00:00 -07:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
@@ -22,19 +28,17 @@ extensions: []
|
|
22
28
|
extra_rdoc_files: []
|
23
29
|
|
24
30
|
files:
|
25
|
-
- config
|
26
31
|
- config/a.rb
|
27
32
|
- config/b.rb
|
28
33
|
- config/c.rb
|
29
34
|
- config/d.rb
|
30
35
|
- config/e.rb
|
31
36
|
- configuration.gemspec
|
32
|
-
- lib
|
33
37
|
- lib/configuration.rb
|
38
|
+
- LICENSE
|
34
39
|
- Rakefile
|
35
40
|
- README
|
36
41
|
- README.erb
|
37
|
-
- samples
|
38
42
|
- samples/a.rb
|
39
43
|
- samples/b.rb
|
40
44
|
- samples/c.rb
|
@@ -42,29 +46,37 @@ files:
|
|
42
46
|
- samples/e.rb
|
43
47
|
has_rdoc: true
|
44
48
|
homepage: http://github.com/ahoward/configuration/tree/master
|
49
|
+
licenses: []
|
50
|
+
|
45
51
|
post_install_message:
|
46
52
|
rdoc_options: []
|
47
53
|
|
48
54
|
require_paths:
|
49
55
|
- lib
|
50
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 0
|
54
64
|
version: "0"
|
55
|
-
version:
|
56
65
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
57
67
|
requirements:
|
58
68
|
- - ">="
|
59
69
|
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 0
|
60
73
|
version: "0"
|
61
|
-
version:
|
62
74
|
requirements: []
|
63
75
|
|
64
76
|
rubyforge_project: codeforpeople
|
65
|
-
rubygems_version: 1.3.
|
77
|
+
rubygems_version: 1.3.7
|
66
78
|
signing_key:
|
67
|
-
specification_version:
|
79
|
+
specification_version: 3
|
68
80
|
summary: configuration
|
69
81
|
test_files: []
|
70
82
|
|