yake 0.6.4 → 0.6.5
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|