document_hash 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ document_hash
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-1.9.3-p429
@@ -2,11 +2,14 @@ module DocumentHash
2
2
  class Core < Hash
3
3
  def self.[] *attr
4
4
  super(*attr).tap do|new|
5
- new.each do |k,v|
6
- new[k] = new.class[v] if v.is_a?(Hash) && ! v.is_a?(self.class)
5
+ new.keys.each do |k|
6
+ if new[k].is_a?(Hash) && ! new[k].is_a?(self.class)
7
+ new[k] = new.class[new.delete(k)]
8
+ else
9
+ new[k] = new.delete(k)
10
+ end
7
11
  end
8
-
9
- symbolize_keys new
12
+ #symbolize_keys new
10
13
  end
11
14
  end
12
15
 
@@ -47,15 +50,10 @@ module DocumentHash
47
50
  end
48
51
 
49
52
  def merge! other
50
- # self.class.symbolize_keys other
51
- # other = Hash[ other.collect{ |k, v| [ k, execute_before_change_callback(k,v) ] } ]
52
- # super other
53
- # other.each { |k, v| changed_key k,v }
54
-
55
- other.each { |k,v| self[k] = v }
56
- end
57
-
58
- def deep_merge! other
53
+ self.class.symbolize_keys other
54
+ other = Hash[ other.collect{ |k, v| [ k, execute_before_change_callback(k,v) ] } ]
55
+ super other
56
+ other.each { |k, v| changed_key k,v }
59
57
  end
60
58
 
61
59
  private
@@ -1,3 +1,3 @@
1
1
  module DocumentHash
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: document_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -37,6 +37,8 @@ extra_rdoc_files: []
37
37
  files:
38
38
  - .gitignore
39
39
  - .rspec
40
+ - .ruby-gemset
41
+ - .ruby-version
40
42
  - Gemfile
41
43
  - LICENSE.txt
42
44
  - README.md
@@ -68,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
68
70
  version: '0'
69
71
  requirements: []
70
72
  rubyforge_project:
71
- rubygems_version: 1.8.24
73
+ rubygems_version: 1.8.25
72
74
  signing_key:
73
75
  specification_version: 3
74
76
  summary: Document Object