mj_hash 0.0.0

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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/mj_hash.rb +21 -0
  3. metadata +45 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e23a0a1cfe8857d5e0a7eea973044b740bf488b3
4
+ data.tar.gz: db1e6c0065653689876bbd7fcd9fbeb1be2d02ae
5
+ SHA512:
6
+ metadata.gz: 54987a9b77eb5cb0210c3733d006a2b33c0a3232638b3eb078529579238817803d89498429e1db39dba91ed9eebf9286fc1a62e6d7d2d35f4d55cf53b3d89a6e
7
+ data.tar.gz: f670dea39ad98058bbad8e61a7533f60d4d86c04dd125dfa301b099425a5cd87ae46de184a6997a011f360512a582b41da56c024b65e9189403614b33b949a85
data/lib/mj_hash.rb ADDED
@@ -0,0 +1,21 @@
1
+ class MJ_Hash < Hash
2
+ def initialize(parent = nil, key = nil)
3
+ @parent = parent
4
+ @key = key
5
+ super()
6
+ end
7
+ def [](key)
8
+ if super(key)
9
+ super(key)
10
+ else
11
+ MJ_Hash.new(self, key)
12
+ end
13
+ end
14
+ def []=(key,value)
15
+ val = super(key, value)
16
+ if @parent
17
+ @parent[@key] = self
18
+ end
19
+ val
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,45 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mj_hash
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Mengxiang Jiang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-02-21 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: when ruby default hash of hashes suck
14
+ email: mj294@cornell.edu
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/mj_hash.rb
20
+ homepage: https://github.com/mj294/mj_hash
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.0.14.1
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Better default Hash of Hashes
44
+ test_files: []
45
+ has_rdoc: