yake 1.1.1 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9270afa71781bae2db5140a0c060fc361301c2c975fe25d877bf8be61c5b23aa
4
- data.tar.gz: b65a6ca27e3e3bb9a0fa3698deac1e4ae434c10e359f3c5febbd2cf7e9612a64
3
+ metadata.gz: ca67b728ac7669680177b57f9ec3425073859d9e3fccc8e336e8c1d86ee903d9
4
+ data.tar.gz: 8f02b1e165461fca8af9a36cd2ae1543ba31f49396c868a20af50ee459d394e6
5
5
  SHA512:
6
- metadata.gz: 9c863de9801407df3810927502358018e1f03c7c6b353e6f531edc82b3a4bebcb11d8ec4b7a48cdaf3982dcca162f5888e4a8b570887c3fedfff878195f89b7d
7
- data.tar.gz: 0b23a97b5c6b0231c9b62da4b5bdbf1970c44c8f5889d2b011810b78d0f78191b544e74d2e8f55b6808d06033d92119988e2efcdd0b622c358cdd7f8938fa97a
6
+ metadata.gz: 98cf4e930f7868468509a0e1b0fdca92ddf834c404ef087c11ed70361f358ea1dee9bf7b582f72b39a1b1583c6017a40caf5022b50452fc22608a0615c3513aa
7
+ data.tar.gz: cec7cabf789420d27b88ae5cdfcfba5244422aaccf9a2fdac7e4911de180554543176c05d125123610c672e13cd922d2863e6a8ecc318487f6b5f54558a77c48
data/README.md CHANGED
@@ -177,9 +177,9 @@ rescue => err
177
177
  end
178
178
  ```
179
179
 
180
- ### Zero Dependencies
180
+ ### (Near) Zero Dependencies
181
181
 
182
- Finally, `yake` does not depend on any other gems, using the Ruby stdlib only. This helps keep your Lambda packages slim & speedy.
182
+ Finally, `yake` does not depend on any 3rd party gems. The only exceptions are the `ostruct` and `logger` gems, which are being removed from the Ruby stdlib in Ruby v3.5. This helps keep your Lambda packages slim & speedy.
183
183
 
184
184
  ## Support Helpers
185
185
 
@@ -247,10 +247,10 @@ hash.deep_transform_keys!(&:to_s)
247
247
  # => '{"a":{"b":"c","d":"e"},"f":"g"}'
248
248
 
249
249
  { f: 'g', a: { d: 'e', b: 'c' } }.to_struct
250
- # => #<OpenStruct f="g", a={:d=>"e", :b=>"c"}>
250
+ # => #<struct f="g", a={:d=>"e", :b=>"c"}>
251
251
 
252
252
  { f: 'g', a: { d: 'e', b: 'c' } }.to_deep_struct
253
- # => #<OpenStruct f="g", a=#<OpenStruct d="e", b="c">>
253
+ # => #<struct f="g", a=#<struct d="e", b="c">>
254
254
 
255
255
  { a: { b: 'c', d: 'e' }, f: 'g' }.to_dynamodb
256
256
  # => { :a => { :M => { :b => { :S => "c" }, :d => { :S => "e" } } }, :f => { :S => "g" } }
data/lib/yake/logger.rb CHANGED
@@ -21,7 +21,11 @@ module Yake
21
21
  Format = "%s %s %s\n"
22
22
 
23
23
  def call(severity, time, progname, msg)
24
- Format % [ severity, progname.nil? ? '-' : "RequestId: #{ progname }", msg2str(msg).strip ]
24
+ Format % [
25
+ severity,
26
+ progname.nil? ? '-' : "RequestId: #{ progname }",
27
+ msg2str(msg).strip
28
+ ]
25
29
  end
26
30
  end
27
31
  end
@@ -29,12 +33,7 @@ module Yake
29
33
  class << self
30
34
  attr_writer :logger, :pretty
31
35
 
32
- def logger
33
- @logger ||= Logger.new
34
- end
35
-
36
- def pretty?
37
- @pretty == true
38
- end
36
+ def logger = @logger ||= Logger.new
37
+ def pretty? = @pretty == true
39
38
  end
40
39
  end
data/lib/yake/support.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'digest'
4
4
  require 'json'
5
5
  require 'time'
6
+ require 'uri'
6
7
 
7
8
  class Array
8
9
  def to_dynamodb = { L: map(&:to_dynamodb) }
@@ -22,7 +23,7 @@ class Hash
22
23
  def symbolize_names! = deep_transform_keys!(&:to_sym)
23
24
  def to_form = URI.encode_www_form(self)
24
25
  def to_json_sorted = deep_sort.to_json
25
- def to_struct = OpenStruct.new(self)
26
+ def to_struct = Struct.new(*keys.map(&:to_sym)).new(*values)
26
27
 
27
28
  ##
28
29
  # Adapted from ActiveSupport Hash#deep_merge
data/lib/yake/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Yake
4
- VERSION = '1.1.1'
4
+ VERSION = '1.2.1'
5
5
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yake
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Mancevice
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-15 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2025-02-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ostruct
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: logger
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
13
41
  description:
14
42
  email:
15
43
  - alexander.mancevice@hey.com