yake 0.6.4 → 0.7.0
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/dsl.rb +1 -1
- data/lib/yake/logger.rb +1 -1
- 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: 8b15fb667d8aba0f2fed790898bac47dc745883203f5cc7adda48e5f9c1c58bd
|
4
|
+
data.tar.gz: e07bd79d34cb1a6e841eda84df0b392d8419e0ed3bcbcdb5bf49d2319b47b3c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26e801e5d27b2a8c0241d465f7507cae64913e05e67d91a085ee179e8ec675c06d7e058013464e152e8255343a1790c4a9b7a1c2db45a74461c5a46524549687
|
7
|
+
data.tar.gz: 272b1c2ee937e87fdce222ad8228893614c18b4dd01072b050ce3ba24095c577a8ee6a40988ca00968156d916d87b0b0a9da04a668c2efde79c8ec798721dd94
|
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/dsl.rb
CHANGED
data/lib/yake/logger.rb
CHANGED
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.
|
4
|
+
version: 0.7.0
|
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-
|
11
|
+
date: 2022-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|