yake 0.6.1 → 0.6.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 +4 -4
- data/README.md +10 -0
- data/lib/yake/support.rb +22 -4
- data/lib/yake/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 929c35260f97e7e32df7cf490709d767df7a5c237a8e2afdb1c35f59b54ff2cd
|
|
4
|
+
data.tar.gz: 87153830a05af4508213e719f6bb95469b2188a08153c86df4b18308624ab3df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 75eca7fa2a5f62c87f95fa3c055f6a3d1b7c2fdf5a794fba5a10e603e4b4ed9bde291ecff18110beb5dc7b8680883d4ee51500cb407ad45a385d4ea22399e57c
|
|
7
|
+
data.tar.gz: c4510f71f02adbb03cc88f81abb4fe82df3ad085f184b4b593bde0d7d7715911d6ed88fa5f10219539ce0072441d40421f3c49ba4c9b2aafa41be46c75d76d85
|
data/README.md
CHANGED
|
@@ -205,6 +205,16 @@ MyObject.new.try(:some_method)
|
|
|
205
205
|
`Hash` helpers:
|
|
206
206
|
|
|
207
207
|
```ruby
|
|
208
|
+
{ a: { b: 'c', d: 'e' }, f: 'g' }.deep_keys
|
|
209
|
+
# => [:a, :b, :d, :f]
|
|
210
|
+
|
|
211
|
+
{ a: { b: 'c', d: 'e' }, f: 'g' }.deep_transform_keys(&:to_s)
|
|
212
|
+
# => { "a" => { "b" => "c", "d" => "e" }, "f" => "g" }
|
|
213
|
+
|
|
214
|
+
hash = { a: { b: 'c', d: 'e' }, f: 'g' }
|
|
215
|
+
hash.deep_transform_keys!(&:to_s)
|
|
216
|
+
# => { "a" => { "b" => "c", "d" => "e" }, "f" => "g" }
|
|
217
|
+
|
|
208
218
|
{ f: 'g', a: { d: 'e', b: 'c' } }.deep_sort
|
|
209
219
|
# => { a: { b: 'c', d: 'e' }, f: 'g' }
|
|
210
220
|
|
data/lib/yake/support.rb
CHANGED
|
@@ -4,14 +4,32 @@ require 'json'
|
|
|
4
4
|
require 'time'
|
|
5
5
|
|
|
6
6
|
class Hash
|
|
7
|
-
def
|
|
7
|
+
def deep_keys() map { |k,v| v.respond_to?(:deep_keys) ? [k] + v.deep_keys : k }.flatten end
|
|
8
|
+
def deep_sort() sort.map { |k,v| [ k, v.try(:deep_sort) { |x| x } ] }.to_h end
|
|
8
9
|
def encode64() to_json.encode64 end
|
|
9
|
-
def except(*keys)
|
|
10
|
+
def except(*keys) reject { |key,_| keys.include? key } end
|
|
10
11
|
def strict_encode64() to_json.strict_encode64 end
|
|
11
|
-
def stringify_names()
|
|
12
|
-
def
|
|
12
|
+
def stringify_names() deep_transform_keys(&:to_s) end
|
|
13
|
+
def stringify_names!() deep_transform_keys!(&:to_s) end
|
|
14
|
+
def symbolize_names() deep_transform_keys(&:to_sym) end
|
|
15
|
+
def symbolize_names!() deep_transform_keys!(&:to_sym) end
|
|
13
16
|
def to_form() URI.encode_www_form(self) end
|
|
14
17
|
def to_json_sorted() deep_sort.to_json end
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def deep_transform_keys(&block)
|
|
21
|
+
block_given? ? transform_keys(&block).map do |key, val|
|
|
22
|
+
val = val.deep_transform_keys(&block) if val.respond_to?(:deep_transform_keys)
|
|
23
|
+
[key, val]
|
|
24
|
+
end.to_h : self
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def deep_transform_keys!(&block)
|
|
28
|
+
block_given? ? transform_keys!(&block).map do |key, val|
|
|
29
|
+
val = val.deep_transform_keys!(&block) if val.respond_to?(:deep_transform_keys!)
|
|
30
|
+
[key, val]
|
|
31
|
+
end.to_h : self
|
|
32
|
+
end
|
|
15
33
|
end
|
|
16
34
|
|
|
17
35
|
class Integer
|
data/lib/yake/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: yake
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alexander Mancevice
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-07-
|
|
11
|
+
date: 2022-07-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description:
|
|
14
14
|
email:
|