configure_me 0.6.0 → 0.6.1

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.
@@ -22,7 +22,6 @@ module ConfigureMe
22
22
  if persisted?
23
23
  key = parent_config.nil? ? [] : parent_config.to_key
24
24
  key << self.class.config_name
25
- key
26
25
  else
27
26
  nil
28
27
  end
@@ -36,12 +35,8 @@ module ConfigureMe
36
35
  end
37
36
  end
38
37
 
39
- def config_key
40
- to_param
41
- end
42
-
43
38
  def storage_key(name)
44
- "#{config_key}-#{name.to_s}"
39
+ "#{to_param}-#{name.to_s}"
45
40
  end
46
41
 
47
42
  class << self
@@ -50,6 +45,12 @@ module ConfigureMe
50
45
  configs << subclass
51
46
  end
52
47
 
48
+ def config_key
49
+ key = parent_config_klass.nil? ? [] : parent_config_klass.config_key
50
+ key << self.config_name
51
+ key
52
+ end
53
+
53
54
  def config_name
54
55
  self.name.demodulize.gsub(/^(.*)Config$/, '\1').underscore
55
56
  end
@@ -76,8 +77,7 @@ module ConfigureMe
76
77
 
77
78
  def find_by_id(id)
78
79
  configs.each do |config|
79
- if config.config_key.eql?(id)
80
- #return config.instance
80
+ if config.config_name.eql?(id)
81
81
  return config.new
82
82
  end
83
83
  end
@@ -5,11 +5,11 @@ module ConfigureMe
5
5
  module ClassMethods
6
6
  def nest_me(klass, name = nil)
7
7
  klass.nested_classes[self.config_name.to_sym] = self
8
+ self.parent_config_klass = klass
8
9
  klass.class_eval <<-EOF, __FILE__, __LINE__
9
10
  def #{self.config_name}
10
11
  @#{self.config_name} ||= begin
11
12
  config = self.class.nested_classes["#{self.config_name}".to_sym].new
12
- config.parent_config = self
13
13
  self.children["#{self.config_name}".to_sym] = config
14
14
  config
15
15
  end
@@ -20,16 +20,20 @@ module ConfigureMe
20
20
  def nested_classes
21
21
  @nested_classes ||= {}
22
22
  end
23
+
24
+ def parent_config_klass
25
+ @parent_config_klass ||= nil
26
+ end
27
+
28
+ def parent_config_klass=(parent_config_klass)
29
+ @parent_config_klass = parent_config_klass
30
+ end
23
31
  end
24
32
 
25
33
  module InstanceMethods
26
34
 
27
35
  def parent_config
28
- @parent_config ||= nil
29
- end
30
-
31
- def parent_config=(parent_config)
32
- @parent_config = parent_config
36
+ self.class.parent_config_klass ? self.class.parent_config_klass.new : nil
33
37
  end
34
38
 
35
39
  def children
@@ -1,3 +1,3 @@
1
1
  module ConfigureMe
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configure_me
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
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-01-11 00:00:00.000000000Z
12
+ date: 2012-01-25 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &19476980 !ruby/object:Gem::Requirement
16
+ requirement: &85288390 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *19476980
24
+ version_requirements: *85288390
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activesupport
27
- requirement: &19476340 !ruby/object:Gem::Requirement
27
+ requirement: &85276260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *19476340
35
+ version_requirements: *85276260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &19475680 !ruby/object:Gem::Requirement
38
+ requirement: &85276030 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.7.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *19475680
46
+ version_requirements: *85276030
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &19474860 !ruby/object:Gem::Requirement
49
+ requirement: &85275740 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.5.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *19474860
57
+ version_requirements: *85275740
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: mocha
60
- requirement: &19474400 !ruby/object:Gem::Requirement
60
+ requirement: &85275510 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.10.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *19474400
68
+ version_requirements: *85275510
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard-rspec
71
- requirement: &19473920 !ruby/object:Gem::Requirement
71
+ requirement: &85275250 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.5.10
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *19473920
79
+ version_requirements: *85275250
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: libnotify
82
- requirement: &19473240 !ruby/object:Gem::Requirement
82
+ requirement: &85274970 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 0.6.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *19473240
90
+ version_requirements: *85274970
91
91
  description: Simple gem to assist with persisting configuration data.
92
92
  email:
93
93
  - theprime@codingprime.com
@@ -151,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
151
  version: '0'
152
152
  requirements: []
153
153
  rubyforge_project: configure_me
154
- rubygems_version: 1.8.10
154
+ rubygems_version: 1.8.12
155
155
  signing_key:
156
156
  specification_version: 3
157
157
  summary: Simple configuration library