cc 1.1.2 → 1.1.3

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 +4 -4
  2. data/enum.rb +30 -0
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3869f70e806964db2179a8fb62a1a3a99ea12b8bcf4cfdd23839a8c39696abe6
4
- data.tar.gz: 401539656a9286404eadd220a1f7c235497d226b89f38783a09fb51ae50d3a5f
3
+ metadata.gz: '092a8f09ae5339638b4fd6a296d0bb3cd67befc2584f7527e7d0646aafba9e2b'
4
+ data.tar.gz: b4fa984cecfcca8d16583de66edc5d17c510680c5b1594121bf6577e9c10da7e
5
5
  SHA512:
6
- metadata.gz: fc5e432507e0b46f503428a95c7fe102a120e2eee6e3b3eebe05d5689a7632f658c18188b1878a15e3b4e3cbaf55cc4849e280ab3c0547cde37d6faa36d8b089
7
- data.tar.gz: 6bbdd308bcb395c0d3c27db4f46bd403a95743326ba6ccb8ca07b0ca1a225ead5d48e881863fe272dd06c9d9f2f4e7ea09fb6da45a331482a8859c4523c1405a
6
+ metadata.gz: 8e547f8bf5f2f68641fce452016c71ee4099fcd9c3ea2317212d8ec241ca391f513cc14bfe075ba4a30c48bc2f5e4bf313cb59ed505c353b2107fe2a07ed3d73
7
+ data.tar.gz: 5943e1e78ffaa3796806a955ac0321bac05c4a1fbc38013792c0c00f88bb45fd122c66592df8eee394eab7ba33d5d5214cafddbff417e8585b0bf79bdfe10f08
data/enum.rb CHANGED
@@ -45,3 +45,33 @@ module Enumerable
45
45
  alias :unfold_head :add_head
46
46
  alias :unfold_tail :add_tail
47
47
  end
48
+
49
+ class Hash
50
+ def project *keys
51
+ new_proj = {}
52
+ keys.each do|key| new_proj[key] = self[key] end
53
+ return new_proj
54
+ end
55
+
56
+ def serialize *keys
57
+ return keys.map{|key|self[key]}
58
+ end
59
+ end
60
+
61
+ class Array
62
+ def mapping keys=[]
63
+ head = keys.empty? ? self[0] : keys
64
+ return nil unless head.instance_of?(Array)
65
+ new_records = []
66
+ self.each do|items|
67
+ return nil unless items.instance_of?(Array)
68
+ new_map = {}
69
+ next if items == keys
70
+ head.each_with_index do|field,index|
71
+ new_map[field] = items[index]
72
+ end
73
+ new_records << new_map
74
+ end
75
+ return new_records
76
+ end
77
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt