config-me 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,8 +12,18 @@ class ConfigMe::Node
12
12
  @values[ key ]
13
13
  end
14
14
 
15
- def method_missing method, *args, &block
15
+ def to_hash
16
+ @values.inject({}) do |new_hash, pair|
17
+ key, value = pair
18
+
19
+ new_hash[ key ] = value.is_a?(ConfigMe::Node) ? value.to_hash : value
20
+ new_hash
21
+ end
22
+ end
23
+
24
+ def method_missing method, *args, &definitions
16
25
  case
26
+ when block_given? then self[ method ] = ConfigMe::DefinitionsParser.parse!(@breadcrumbs, &definitions)
17
27
  when setter?(method) then self[ setter_method(method) ] = args.first
18
28
  when has_key?(method) then self[ method ]
19
29
  else raise ConfigMe::UndefinedSetting.new(@breadcrumbs + [method])
@@ -1,3 +1,3 @@
1
1
  module ConfigMe
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: config-me
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-20 00:00:00.000000000Z
12
+ date: 2012-03-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
16
- requirement: &75651270 !ruby/object:Gem::Requirement
16
+ requirement: &73904440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.9
21
+ version: '1.1'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *75651270
24
+ version_requirements: *73904440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &75650950 !ruby/object:Gem::Requirement
27
+ requirement: &73904110 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '2.9'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *75650950
35
+ version_requirements: *73904110
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activesupport
38
- requirement: &75650650 !ruby/object:Gem::Requirement
38
+ requirement: &73903820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '3.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *75650650
46
+ version_requirements: *73903820
47
47
  description: Provides convenient tool for storing configuration
48
48
  email:
49
49
  - cheef.che@gmail.com