config-me 0.0.6 → 0.0.7

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.
@@ -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: