webget_ruby_hash_more 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig ADDED
Binary file
data/LICENSE.txt ADDED
@@ -0,0 +1,12 @@
1
+ LICENSE
2
+
3
+ You may choose any of these licenses:
4
+
5
+ - CreativeCommons License, Non-commercial Share Alike
6
+ - LGPL, GNU Lesser General Public License
7
+ - MIT License
8
+ - Ruby License
9
+
10
+ THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
11
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
12
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
data/README.rdoc ADDED
@@ -0,0 +1,31 @@
1
+
2
+ = WebGet Ruby Gem: HashMore
3
+
4
+ Author:: Joel Parker Henderson, joelparkerhenderson@gmail.com
5
+ Copyright:: Copyright (c) 2007-2010 Joel Parker Henderson
6
+ License:: CreativeCommons License, Non-commercial Share Alike
7
+ License:: LGPL, GNU Lesser General Public License
8
+
9
+ HashMore is a hash of hashes of hashes and so on recursively
10
+
11
+ Example
12
+ h = HashMore.new
13
+ h['foo']['bar']['baz'] = 'hello' # create the keys; set value to 'hello'
14
+
15
+ = Counting
16
+
17
+ Example
18
+ h = HashMore.new
19
+ h['foo']['bar']['baz'] += 5 # create the keys; set value to 5
20
+
21
+ Example of counting
22
+ for u in users
23
+ h[u.company][u.name]+=1
24
+ end
25
+
26
+ h['Acme'].keys
27
+ => names of all the users at Acme
28
+
29
+ h['Acme']['John Doe']
30
+ => how many users at Acme are named John Doe
31
+
@@ -0,0 +1,46 @@
1
+ =begin rdoc
2
+
3
+ = WebGet Ruby Gem: HashMore
4
+
5
+ Author:: Joel Parker Henderson, joelparkerhenderson@gmail.com
6
+ Copyright:: Copyright (c) 2007-2010 Joel Parker Henderson
7
+ License:: CreativeCommons License, Non-commercial Share Alike
8
+ License:: LGPL, GNU Lesser General Public License
9
+
10
+ HashMore is a hash of hashes of hashes and so on recursively
11
+
12
+ Example
13
+ h = HashMore.new
14
+ h['foo']['bar']['baz'] = 'hello' # create the keys; set value to 'hello'
15
+
16
+ = Counting
17
+
18
+ Example
19
+ h = HashMore.new
20
+ h['foo']['bar']['baz'] += 5 # create the keys; set value to 5
21
+
22
+ Example of counting
23
+ for u in users
24
+ h[u.company][u.name]+=1
25
+ end
26
+
27
+ h['Acme'].keys
28
+ => names of all the users at Acme
29
+
30
+ h['Acme']['John Doe']
31
+ => how many users at Acme are named John Doe
32
+
33
+ =end
34
+
35
+
36
+ class HashMore < Hash
37
+
38
+ def initialize
39
+ super{|h,k| h[k] = HashMore.new }
40
+ end
41
+
42
+ def +(x)
43
+ x
44
+ end
45
+
46
+ end
@@ -0,0 +1,25 @@
1
+ require 'test/unit'
2
+ require 'webget_ruby_hash_more'
3
+
4
+ class Testing < Test::Unit::TestCase
5
+
6
+ def test_new
7
+ h = HashMore.new
8
+ assert_equal(h,{})
9
+ end
10
+
11
+ def test_equal
12
+ h = HashMore.new
13
+ h[:a][:b][:c] = 'hello'
14
+ assert_equal(h[:a][:b][:c],'hello')
15
+ end
16
+
17
+ def test_add
18
+ h = HashMore.new
19
+ h[:a][:b][:c] += 1
20
+ assert_equal(h[:a][:b][:c],1)
21
+ h[:a][:b][:c] += 1
22
+ assert_equal(h[:a][:b][:c],2)
23
+ end
24
+
25
+ end
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webget_ruby_hash_more
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.8
5
+ platform: ruby
6
+ authors:
7
+ - WebGet
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDvDCCAyWgAwIBAgIJAIlSqEkDQaZIMA0GCSqGSIb3DQEBBQUAMIGbMQswCQYD
14
+ VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5j
15
+ aXNjbzETMBEGA1UEChMKV2ViR2V0LmNvbTETMBEGA1UECxMKV2ViR2V0LmNvbTET
16
+ MBEGA1UEAxMKV2ViR2V0LmNvbTEgMB4GCSqGSIb3DQEJARYRd2ViZ2V0QHdlYmdl
17
+ dC5jb20wHhcNMDkwMjI2MTk0NDU4WhcNMTExMTIzMTk0NDU4WjCBmzELMAkGA1UE
18
+ BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz
19
+ Y28xEzARBgNVBAoTCldlYkdldC5jb20xEzARBgNVBAsTCldlYkdldC5jb20xEzAR
20
+ BgNVBAMTCldlYkdldC5jb20xIDAeBgkqhkiG9w0BCQEWEXdlYmdldEB3ZWJnZXQu
21
+ Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXCFYfW6hCQl0ToNjaMIXG
22
+ ZfPF6OoR20BO/Tg6V37qPi7gDSZ6vIC6Mxcs8LtEcju85cD9lnKKl/lo4S5/w9Ha
23
+ hGD2ZFFfbF8420X5Za5G2KuriS3GzRz7F5dKCTjb1NH9TPlgOc71bcrDmCwwtFJl
24
+ T+tdfBju0YxLSBiMXf4y5QIDAQABo4IBBDCCAQAwHQYDVR0OBBYEFHB1kXO/Xd4g
25
+ G+AJ2/wwh6JOWXzNMIHQBgNVHSMEgcgwgcWAFHB1kXO/Xd4gG+AJ2/wwh6JOWXzN
26
+ oYGhpIGeMIGbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG
27
+ A1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UEChMKV2ViR2V0LmNvbTETMBEGA1UE
28
+ CxMKV2ViR2V0LmNvbTETMBEGA1UEAxMKV2ViR2V0LmNvbTEgMB4GCSqGSIb3DQEJ
29
+ ARYRd2ViZ2V0QHdlYmdldC5jb22CCQCJUqhJA0GmSDAMBgNVHRMEBTADAQH/MA0G
30
+ CSqGSIb3DQEBBQUAA4GBADzVXlwuff0/w3yK4LflGKKhtC3oChIrwmSyP6tk628N
31
+ BHokpc4Kz63xSXqzYTnBS7rFBwlYThtNalQeWmoUjGh3Z0ZR0JlhU0ln8899LuJ3
32
+ DXnLFY0cVuBnNDMOOFl8vk1qIcZjcTovhzgcixpG6Uk5qmUsKHRLQf4oQJx7TfLK
33
+ -----END CERTIFICATE-----
34
+
35
+ date: 2010-02-19 00:00:00 -08:00
36
+ default_executable:
37
+ dependencies: []
38
+
39
+ description:
40
+ email: webget@webget.com
41
+ executables: []
42
+
43
+ extensions: []
44
+
45
+ extra_rdoc_files: []
46
+
47
+ files:
48
+ - README.rdoc
49
+ - LICENSE.txt
50
+ - lib/webget_ruby_hash_more.rb
51
+ has_rdoc: true
52
+ homepage: http://webget.com/
53
+ licenses: []
54
+
55
+ post_install_message:
56
+ rdoc_options: []
57
+
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: "0"
65
+ version:
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: "0"
71
+ version:
72
+ requirements: []
73
+
74
+ rubyforge_project:
75
+ rubygems_version: 1.3.5
76
+ signing_key:
77
+ specification_version: 3
78
+ summary: "WebGet Ruby Gem: HashMore class to create a recursive hash"
79
+ test_files:
80
+ - test/webget_ruby_hash_more_test.rb
metadata.gz.sig ADDED
Binary file