gaston 0.1.0 → 0.1.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.
data/lib/gaston/store.rb CHANGED
@@ -11,15 +11,29 @@ class Gaston
11
11
  def initialize(hash)
12
12
  hash ||= {}
13
13
  hash.each do |key, value|
14
- self[key] = value.is_a?(Hash) ? Gaston::Store.new(value) : hash[key]
15
-
16
- self.class.instance_eval do
17
- define_method key do
18
- value.is_a?(Hash) ? Gaston::Store.new(value) : hash[key]
19
- end
20
- end
14
+ value.is_a?(Hash) ? self[key] = Gaston::Store.new(value) : self[key] = value
21
15
  end
22
16
  end
23
17
 
18
+ # Search into store for value.
19
+ #
20
+ # @param [ String || Symbol ] key store.
21
+ #
22
+ # @since 0.0.1
23
+ #
24
+ def method_missing(method, *args, &block)
25
+ return self[method.to_s] if has_key? method.to_s
26
+ return self[method.to_sym] if has_key? method.to_sym
27
+ super(method, *args, &block)
28
+ end
29
+
30
+ # Implement respond_to?
31
+ #
32
+ # @since 0.0.1
33
+ #
34
+ def respond_to?(method)
35
+ has_key?(method.to_s) || has_key?(method.to_sym) || super(method)
36
+ end
37
+
24
38
  end # Store
25
39
  end #Gaston
@@ -1,4 +1,4 @@
1
1
  # encoding: utf-8
2
2
  class Gaston
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gaston
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,19 +9,19 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-11 00:00:00.000000000 Z
12
+ date: 2012-01-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &15199040 !ruby/object:Gem::Requirement
16
+ requirement: &21579540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '2.6'
21
+ version: '2.8'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *15199040
24
+ version_requirements: *21579540
25
25
  description: ! '[Dead simple Ruby config store.]'
26
26
  email: jboyer@af83.com
27
27
  executables: []