configulations 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/configulations.gemspec +1 -1
- data/lib/magic_hash.rb +5 -4
- data/spec/magic_hash_spec.rb +16 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/configulations.gemspec
CHANGED
data/lib/magic_hash.rb
CHANGED
@@ -10,7 +10,7 @@ module MagicHash
|
|
10
10
|
tmp={}
|
11
11
|
tmp.extend(MagicHash)
|
12
12
|
self.each_pair do |key, value|
|
13
|
-
new_key = key.gsub(/\s|-/,"_").strip.to_sym
|
13
|
+
new_key = key.is_a?(Symbol) ? key : key.gsub(/\s|-/,"_").strip.to_sym
|
14
14
|
if(value.is_a? Hash)
|
15
15
|
value.extend(MagicHash) unless value.respond_to? :objectify
|
16
16
|
tmp[new_key] = value.make_keys_valid_message_aliases
|
@@ -55,12 +55,13 @@ module MagicHash
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def method_missing(method_name, *args, &blk)
|
58
|
-
message = method_name.to_s.strip.downcase.gsub(/-/,"_")
|
58
|
+
message = method_name.to_s.strip.downcase.gsub(/-/,"_")
|
59
59
|
if message =~ /=/
|
60
|
-
self[message]= args.flatten.first
|
60
|
+
self[message.gsub(/=/,"").to_sym]= args.flatten.first
|
61
|
+
self.objectify
|
61
62
|
return
|
62
63
|
else
|
63
|
-
result = self[message]
|
64
|
+
result = self[message.to_sym]
|
64
65
|
return result if result
|
65
66
|
end
|
66
67
|
|
data/spec/magic_hash_spec.rb
CHANGED
@@ -15,5 +15,21 @@ describe(MagicHash) do
|
|
15
15
|
options.is_a?(Hash).should == true
|
16
16
|
end
|
17
17
|
|
18
|
+
it "lets you add keys that don't exist." do
|
19
|
+
options = {:foo => "bar"}
|
20
|
+
options.extend(MagicHash)
|
21
|
+
options.foo.should == "bar"
|
22
|
+
options.baz = "leon"
|
23
|
+
options.baz.should == "leon"
|
24
|
+
end
|
25
|
+
|
26
|
+
it "makes new Hash assignments, magic." do
|
27
|
+
options = {:foo => "bar"}
|
28
|
+
options.extend(MagicHash)
|
29
|
+
options.foo.should == "bar"
|
30
|
+
options.org_chart = {"employees" => [{"name"=>"Leon"},{"name"=>"Jerry"}]}
|
31
|
+
options.org_chart.employees.first.name.should == "Leon"
|
32
|
+
end
|
33
|
+
|
18
34
|
end
|
19
35
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: configulations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Leon Gersing
|
@@ -99,7 +99,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
hash:
|
102
|
+
hash: 4050517127552312950
|
103
103
|
segments:
|
104
104
|
- 0
|
105
105
|
version: "0"
|