yake 0.6.4 → 0.6.5
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 +8 -0
- data/lib/yake/support.rb +18 -0
- 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: d268bd340f033da7fa9ecf15ddda386b3868420c5dfcc57d3243493621f538c9
|
|
4
|
+
data.tar.gz: 17d13fb5d7b40de355cd5d09a4e55423e90d498f676d2b8eda1c118e336e2ba4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0fa7ea99f80783db6d7c194bacc3700afaec5ae945d9b7364c4bfa976ceaa8491c9a1596614632139700776235d74f86433319cb6fceb947e1d4427562df5543
|
|
7
|
+
data.tar.gz: fe09389ff1a12756ace3e03950b2e7fb241b21037d513c0bd23b1681b03072178ee5caf5947f98d2457ae760d2cc6f9405d9265974cc24650d440f8fe29a467f
|
data/README.md
CHANGED
|
@@ -239,6 +239,11 @@ hash.deep_transform_keys!(&:to_s)
|
|
|
239
239
|
{ f: 'g', a: { d: 'e', b: 'c' } }.to_json_sorted
|
|
240
240
|
# => '{"a":{"b":"c","d":"e"},"f":"g"}'
|
|
241
241
|
|
|
242
|
+
{ f: 'g', a: { d: 'e', b: 'c' } }.to_struct
|
|
243
|
+
# => #<OpenStruct f="g", a={:d=>"e", :b=>"c"}>
|
|
244
|
+
|
|
245
|
+
{ f: 'g', a: { d: 'e', b: 'c' } }.to_deep_struct
|
|
246
|
+
# => #<OpenStruct f="g", a=#<OpenStruct d="e", b="c">>
|
|
242
247
|
```
|
|
243
248
|
|
|
244
249
|
`Integer` helpers:
|
|
@@ -297,6 +302,9 @@ host / path
|
|
|
297
302
|
|
|
298
303
|
'fizz=buzz'.to_h_from_form
|
|
299
304
|
# => { "fizz" => "buzz" }
|
|
305
|
+
|
|
306
|
+
'2009-02-13T23:31:30Z'.utc
|
|
307
|
+
# => 2009-02-13 23:31:30 UTC
|
|
300
308
|
```
|
|
301
309
|
|
|
302
310
|
`Symbol` helpers
|
data/lib/yake/support.rb
CHANGED
|
@@ -15,6 +15,7 @@ class Hash
|
|
|
15
15
|
def symbolize_names!() deep_transform_keys!(&:to_sym) end
|
|
16
16
|
def to_form() URI.encode_www_form(self) end
|
|
17
17
|
def to_json_sorted() deep_sort.to_json end
|
|
18
|
+
def to_struct() OpenStruct.new(self) end
|
|
18
19
|
|
|
19
20
|
def deep_transform_keys(&block)
|
|
20
21
|
deep_transform(:transform_keys, &block)
|
|
@@ -24,6 +25,22 @@ class Hash
|
|
|
24
25
|
deep_transform(:transform_keys!, &block)
|
|
25
26
|
end
|
|
26
27
|
|
|
28
|
+
def to_deep_struct
|
|
29
|
+
to_struct.tap do |struct|
|
|
30
|
+
struct.to_h.each do |key, val|
|
|
31
|
+
struct[key] = if val.is_a?(Array)
|
|
32
|
+
val.map do |item|
|
|
33
|
+
item.respond_to?(:to_deep_struct) ? item.to_deep_struct : item
|
|
34
|
+
end
|
|
35
|
+
elsif val.is_a?(Hash)
|
|
36
|
+
val.to_deep_struct
|
|
37
|
+
else
|
|
38
|
+
val
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
27
44
|
private def deep_transform(method, &block)
|
|
28
45
|
f = -> (x) { x.respond_to?(:"deep_#{method}") ? x.send(:"deep_#{method}", &block) : x }
|
|
29
46
|
block_given? ? send(method, &block).map do |key, val|
|
|
@@ -67,6 +84,7 @@ class String
|
|
|
67
84
|
def strict_encode64() Base64.strict_encode64(self) end
|
|
68
85
|
def to_h_from_json(**params) JSON.parse(self, **params) end
|
|
69
86
|
def to_h_from_form() URI.decode_www_form(self).to_h end
|
|
87
|
+
def utc() UTC.parse(self) end
|
|
70
88
|
end
|
|
71
89
|
|
|
72
90
|
class Symbol
|
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.5
|
|
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-08-
|
|
11
|
+
date: 2022-08-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description:
|
|
14
14
|
email:
|