config-me 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -21,7 +21,7 @@ module ConfigMe
21
21
  end
22
22
  end
23
23
 
24
- def ConfigMe scope = :global, &definitions
24
+ def ConfigMe scope = :production, &definitions
25
25
  configurations = ConfigMe.instance_variable_get :@configurations
26
26
 
27
27
  if block_given?
@@ -12,10 +12,6 @@ class ConfigMe::Configuration
12
12
  private
13
13
 
14
14
  def method_missing method, *args, &block
15
- if @tree.has_key? method
16
- @tree[ method ]
17
- else
18
- raise ConfigMe::UndefinedSetting.new(%W(ConfigMe #{method}))
19
- end
15
+ @tree.send method, *args, &block
20
16
  end
21
17
  end
@@ -12,15 +12,25 @@ class ConfigMe::Node
12
12
  @values[ key ]
13
13
  end
14
14
 
15
- def has_key? key
16
- @values.has_key? key
17
- end
18
-
19
15
  def method_missing method, *args, &block
20
- if has_key? method
21
- self[ method ]
22
- else
23
- raise ConfigMe::UndefinedSetting.new(@breadcrumbs + [method])
16
+ case
17
+ when setter?(method) then self[ setter_method(method) ] = args.first
18
+ when has_key?(method) then self[ method ]
19
+ else raise ConfigMe::UndefinedSetting.new(@breadcrumbs + [method])
24
20
  end
25
21
  end
22
+
23
+ private
24
+
25
+ def setter? key
26
+ key.to_s =~ /^[a-zA-Z0-9_]+=$/
27
+ end
28
+
29
+ def setter_method key
30
+ key.to_s.gsub(/\=/, '').to_sym
31
+ end
32
+
33
+ def has_key? key
34
+ @values.has_key? key
35
+ end
26
36
  end
@@ -1,3 +1,3 @@
1
1
  module ConfigMe
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
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.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-19 00:00:00.000000000Z
12
+ date: 2012-03-20 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
16
- requirement: &71931750 !ruby/object:Gem::Requirement
16
+ requirement: &75651270 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.1.9
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *71931750
24
+ version_requirements: *75651270
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &71931370 !ruby/object:Gem::Requirement
27
+ requirement: &75650950 !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: *71931370
35
+ version_requirements: *75650950
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: activesupport
38
- requirement: &71931020 !ruby/object:Gem::Requirement
38
+ requirement: &75650650 !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: *71931020
46
+ version_requirements: *75650650
47
47
  description: Provides convenient tool for storing configuration
48
48
  email:
49
49
  - cheef.che@gmail.com