mogrify 0.0.1 → 0.0.2
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.
- checksums.yaml +6 -14
- data/lib/mogrify.rb +25 -13
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
ZmM4Y2QxMTY3ZmI2MGMzN2IwN2NhNmUwMTljMTMwODY1NDBhOTAwMTU1NzM0
|
10
|
-
NmZmZDljMDI2YTFkNzFlMzk5MWQ3YzhhYzAwYmI3NTY1N2I2ZTc0OTVlZTg2
|
11
|
-
MTZmMTdjZGEzNjhjOGFlMDcwODcxZTY3MWI4Y2RmNDAxYmY0MmQ=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZDk5OTdmYTlhNGJkOTk2NmE3MDgxOTY2ZjllNTVjMWE2N2FmZGI3MzFhZDc0
|
14
|
-
NjBjODFjMjg0OGNjYTE0MWNmNmRmZjdmZTExOWE2NzhmOWIwMzg3YjNjOTE5
|
15
|
-
MWY1YTYxZGQ0MmE4NjA4OGNmYzVhZWI0MmVlYmQzMjk4YzYxNzc=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6b3ac2c0d76ff86d03e41c7cbba4e6c4dd4c3b08
|
4
|
+
data.tar.gz: 7c46aa9c99dc86125708b2d5d0e7bae183268ea1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f47c4feaab3d5194bd4002eaea0e0a661b32c87fb612774c74c5eca4a9093148f0ae2af6c263c01239cb471a0532096f1eb254a3730eb4f581a4f0c9f1d83d5f
|
7
|
+
data.tar.gz: ee04a881c47fb431a4bb2498586d02be2ea26f5693cb8a785eced9805f82ff3933af81a1cffb6b53de7440ca89b38dee37fe83f03a199ee1c3e97c185110133a
|
data/lib/mogrify.rb
CHANGED
@@ -1,19 +1,18 @@
|
|
1
|
-
require "minitest/autorun"
|
2
1
|
class Hash
|
3
2
|
def symogriform
|
4
3
|
symogriformed = {}
|
5
|
-
|
6
|
-
|
7
|
-
if symogrified[key].is_a?(Hash)
|
8
|
-
symogrified[key] = symogrified[key].symogriform
|
9
|
-
end
|
4
|
+
self.each do |key, value|
|
5
|
+
symogriformed[symog(key)] = value.is_a?(Hash) ? value.symogriform : value
|
10
6
|
end
|
11
|
-
symogriformed.merge!(symogrify(symogrified))
|
12
7
|
symogriformed
|
13
8
|
end
|
14
9
|
|
15
|
-
def symogrify
|
16
|
-
|
10
|
+
def symogrify
|
11
|
+
symogrified = {}
|
12
|
+
self.each do |key, value|
|
13
|
+
symogrified[symog(key)] = value
|
14
|
+
end
|
15
|
+
symogrified
|
17
16
|
end
|
18
17
|
|
19
18
|
def symog key
|
@@ -25,11 +24,24 @@ module Enumerable
|
|
25
24
|
def hashmogrify(&block)
|
26
25
|
hash = {}
|
27
26
|
self.each do |e|
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
key, value = [*block.call(e), e]
|
28
|
+
hash[key] = value
|
29
|
+
end
|
30
|
+
hash
|
31
|
+
end
|
32
|
+
|
33
|
+
def hashmogrificate(&block)
|
34
|
+
hash = {}
|
35
|
+
known_keys = []
|
36
|
+
self.each do |e|
|
37
|
+
key, value = [*block.call(e), e]
|
38
|
+
if known_keys.include? key
|
39
|
+
hash[key] << value
|
40
|
+
elsif hash[key]
|
41
|
+
hash[key] = [hash[key]] << value
|
42
|
+
known_keys << key
|
31
43
|
else
|
32
|
-
hash[
|
44
|
+
hash[key] = value
|
33
45
|
end
|
34
46
|
end
|
35
47
|
hash
|
metadata
CHANGED
@@ -1,16 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mogrify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- J. Paul Daigle
|
8
|
+
- Dan Tao
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
date: 2011-09-29 00:00:00.000000000 Z
|
12
13
|
dependencies: []
|
13
|
-
description:
|
14
|
+
description: Mogrify is a tiny library of non-destructive transformers for enumerables,
|
15
|
+
including symogrify with symbolizes strings and hashmogrify which builds hashes
|
16
|
+
from arrays.
|
14
17
|
email: j.paul.daigle@gmail.com
|
15
18
|
executables: []
|
16
19
|
extensions: []
|
@@ -26,18 +29,18 @@ require_paths:
|
|
26
29
|
- lib
|
27
30
|
required_ruby_version: !ruby/object:Gem::Requirement
|
28
31
|
requirements:
|
29
|
-
- -
|
32
|
+
- - ">="
|
30
33
|
- !ruby/object:Gem::Version
|
31
34
|
version: '0'
|
32
35
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
36
|
requirements:
|
34
|
-
- -
|
37
|
+
- - ">="
|
35
38
|
- !ruby/object:Gem::Version
|
36
39
|
version: '0'
|
37
40
|
requirements: []
|
38
41
|
rubyforge_project:
|
39
|
-
rubygems_version: 2.
|
42
|
+
rubygems_version: 2.2.2
|
40
43
|
signing_key:
|
41
44
|
specification_version: 4
|
42
|
-
summary:
|
45
|
+
summary: tiny library of non-destructive transformers for enumerables
|
43
46
|
test_files: []
|