webget_ruby_hash_more 1.2.8

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.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