yake 0.5.6 → 0.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +26 -0
- data/lib/yake/logger.rb +1 -1
- data/lib/yake/support.rb +28 -5
- 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
@@ -197,11 +197,27 @@ MyObject.new.some_method
|
|
197
197
|
|
198
198
|
MyObject.new.try(:some_method)
|
199
199
|
# => nil
|
200
|
+
|
201
|
+
10.try(:some_method) { |x| x ** 2 }
|
202
|
+
# => 100
|
200
203
|
```
|
201
204
|
|
202
205
|
`Hash` helpers:
|
203
206
|
|
204
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
|
+
|
218
|
+
{ f: 'g', a: { d: 'e', b: 'c' } }.deep_sort
|
219
|
+
# => { a: { b: 'c', d: 'e' }, f: 'g' }
|
220
|
+
|
205
221
|
{ fizz: 'buzz' }.encode64
|
206
222
|
# => "eyJmaXp6IjoiYnV6eiJ9\n"
|
207
223
|
|
@@ -219,6 +235,10 @@ MyObject.new.try(:some_method)
|
|
219
235
|
|
220
236
|
{ fizz: 'buzz' }.to_form
|
221
237
|
# => "fizz=buzz"
|
238
|
+
|
239
|
+
{ f: 'g', a: { d: 'e', b: 'c' } }.to_json_sorted
|
240
|
+
# => '{"a":{"b":"c","d":"e"},"f":"g"}'
|
241
|
+
|
222
242
|
```
|
223
243
|
|
224
244
|
`Integer` helpers:
|
@@ -257,6 +277,12 @@ host / path
|
|
257
277
|
'fizz'.encode64
|
258
278
|
# => "Zml6eg==\n"
|
259
279
|
|
280
|
+
'fizz'.md5sum
|
281
|
+
# => "b6bfa6c318811be022d4f73070597660"
|
282
|
+
|
283
|
+
'fizz'.sha1sum
|
284
|
+
# => "c25f5985f2ab63baeb2408a2d7dbc79d8f29d02f"
|
285
|
+
|
260
286
|
'CamelCaseString'.snake_case
|
261
287
|
# => "camel_case_string"
|
262
288
|
|
data/lib/yake/logger.rb
CHANGED
data/lib/yake/support.rb
CHANGED
@@ -1,14 +1,35 @@
|
|
1
1
|
require 'base64'
|
2
|
+
require 'digest'
|
2
3
|
require 'json'
|
3
4
|
require 'time'
|
4
5
|
|
5
6
|
class Hash
|
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
|
6
9
|
def encode64() to_json.encode64 end
|
7
|
-
def except(*keys)
|
10
|
+
def except(*keys) reject { |key,_| keys.include? key } end
|
8
11
|
def strict_encode64() to_json.strict_encode64 end
|
9
|
-
def stringify_names()
|
10
|
-
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
|
11
16
|
def to_form() URI.encode_www_form(self) end
|
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
|
12
33
|
end
|
13
34
|
|
14
35
|
class Integer
|
@@ -27,10 +48,10 @@ class Integer
|
|
27
48
|
end
|
28
49
|
|
29
50
|
class Object
|
30
|
-
def try(method, *args, **kwargs)
|
51
|
+
def try(method, *args, **kwargs, &block)
|
31
52
|
send(method, *args, **kwargs)
|
32
53
|
rescue
|
33
|
-
nil
|
54
|
+
block_given? ? yield(self) : nil
|
34
55
|
end
|
35
56
|
end
|
36
57
|
|
@@ -39,6 +60,8 @@ class String
|
|
39
60
|
def camel_case() split(/_/).map(&:capitalize).join end
|
40
61
|
def decode64() Base64.decode64(self) end
|
41
62
|
def encode64() Base64.encode64(self) end
|
63
|
+
def md5sum() Digest::MD5.hexdigest(self) end
|
64
|
+
def sha1sum() Digest::SHA1.hexdigest(self) end
|
42
65
|
def snake_case() gsub(/([a-z])([A-Z])/, '\1_\2').downcase end
|
43
66
|
def strict_decode64() Base64.strict_decode64(self) end
|
44
67
|
def strict_encode64() Base64.strict_encode64(self) end
|
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.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-
|
11
|
+
date: 2022-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|