yake 1.1.1 → 1.2.1

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 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