config-me 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,22 +1,20 @@
1
1
  class ConfigMe::DefinitionsParser
2
2
 
3
3
  def self.parse! breadcrumbs = [], &definitions
4
- new(breadcrumbs, &definitions).instance_variable_get(:@store)
4
+ new(breadcrumbs, &definitions).instance_variable_get(:@node)
5
5
  end
6
6
 
7
7
  def initialize breadcrumbs = [], &definitions
8
- @store = ConfigMe::Node.new(breadcrumbs)
8
+ @node = ConfigMe::Node.new(breadcrumbs)
9
9
  instance_exec &definitions
10
10
  end
11
11
 
12
12
  private
13
13
 
14
14
  def method_missing method, *args, &definitions
15
- @store[ method ] = if block_given?
16
- breadcrumbs = @store.instance_variable_get(:@breadcrumbs)
17
- breadcrumbs << method
18
-
19
- ConfigMe::DefinitionsParser.parse! breadcrumbs, &definitions
15
+ @node[ method ] = if block_given?
16
+ breadcrumbs = @node.instance_variable_get(:@breadcrumbs)
17
+ ConfigMe::DefinitionsParser.parse! breadcrumbs + [ method ], &definitions
20
18
  else
21
19
  args.first
22
20
  end
@@ -14,8 +14,14 @@ module ConfigMe
14
14
 
15
15
  class UndefinedSetting < ArgumentError
16
16
  def initialize breadcrumbs
17
- super %(Undefined setting "#{breadcrumbs.join('.')}")
17
+ super %(Undefined setting "#{breadcrumbs.join('.')}" for "#{namespace}" configuration)
18
18
  end
19
+
20
+ private
21
+
22
+ def namespace
23
+ ConfigMe::Base.current_namespace || ConfigMe::Defaults.namespace
24
+ end
19
25
  end
20
26
 
21
27
  class WrongFormat < ArgumentError
@@ -20,8 +20,8 @@ module ConfigMe::Importer
20
20
 
21
21
  def self.with_configuration namespace
22
22
  ConfigMe::Base.new.tap do |configuration|
23
- yield configuration
24
23
  ConfigMe::Base.configurations ||= {}
24
+ yield configuration
25
25
  ConfigMe::Base.configurations[ namespace ] = configuration
26
26
  end
27
27
  end
@@ -1,7 +1,8 @@
1
1
  class ConfigMe::Node
2
2
 
3
3
  def initialize breadcrumbs = []
4
- @values, @breadcrumbs = {}, breadcrumbs
4
+ @values = {}
5
+ @breadcrumbs = breadcrumbs.dup
5
6
  end
6
7
 
7
8
  def []=(key, value)
@@ -1,3 +1,3 @@
1
1
  module ConfigMe
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,77 +1,71 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: config-me
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 6
10
- version: 0.0.6
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ivan Garmatenko
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-03-24 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-08-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: cucumber
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
18
+ requirements:
26
19
  - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 13
29
- segments:
30
- - 1
31
- - 1
32
- version: "1.1"
20
+ - !ruby/object:Gem::Version
21
+ version: '1.1'
33
22
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.1'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
39
33
  none: false
40
- requirements:
34
+ requirements:
41
35
  - - ~>
42
- - !ruby/object:Gem::Version
43
- hash: 17
44
- segments:
45
- - 2
46
- - 9
47
- version: "2.9"
36
+ - !ruby/object:Gem::Version
37
+ version: '2.9'
48
38
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: activesupport
52
39
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
54
41
  none: false
55
- requirements:
42
+ requirements:
56
43
  - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 7
59
- segments:
60
- - 3
61
- - 0
62
- version: "3.0"
44
+ - !ruby/object:Gem::Version
45
+ version: '2.9'
46
+ - !ruby/object:Gem::Dependency
47
+ name: activesupport
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '3.0'
63
54
  type: :runtime
64
- version_requirements: *id003
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
65
62
  description: Provides convenient tool for storing configuration
66
- email:
63
+ email:
67
64
  - cheef.che@gmail.com
68
65
  executables: []
69
-
70
66
  extensions: []
71
-
72
67
  extra_rdoc_files: []
73
-
74
- files:
68
+ files:
75
69
  - lib/config-me/version.rb
76
70
  - lib/config-me/importer.rb
77
71
  - lib/config-me/errors.rb
@@ -83,37 +77,26 @@ files:
83
77
  - lib/config-me.rb
84
78
  homepage: http://github.com/cheef/config-me
85
79
  licenses: []
86
-
87
80
  post_install_message:
88
81
  rdoc_options: []
89
-
90
- require_paths:
82
+ require_paths:
91
83
  - lib
92
- required_ruby_version: !ruby/object:Gem::Requirement
84
+ required_ruby_version: !ruby/object:Gem::Requirement
93
85
  none: false
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- hash: 3
98
- segments:
99
- - 0
100
- version: "0"
101
- required_rubygems_version: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
102
91
  none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 3
107
- segments:
108
- - 0
109
- version: "0"
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
110
96
  requirements: []
111
-
112
97
  rubyforge_project: config-me
113
- rubygems_version: 1.8.10
98
+ rubygems_version: 1.8.24
114
99
  signing_key:
115
100
  specification_version: 3
116
101
  summary: Provides convenient tool for storing configuration
117
102
  test_files: []
118
-
119
- has_rdoc: