yake 0.1.4 → 0.1.5

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: 47b755f324408681d9e9d4e46fb13dda73624e023467f5477b568535b0ceecd9
4
- data.tar.gz: 2870d5e7a9d3ed5ba7b179f032c656cac5fb0e61f94eb65ba648d0ba303e819d
3
+ metadata.gz: 5a82e9c31a2af64f0db3fe44f694da9328239bb47c1c4a9fb4734ff66172d96e
4
+ data.tar.gz: a5175886ce9623095fa52a94a7993d9fefc8f53604f7188b7cbb42cf3c3be6c2
5
5
  SHA512:
6
- metadata.gz: 8fcf70ec87e8c199218e84e789a7b4231fc6186158131256a66bd590f2843a1bac16b90900e7d68fde2325ce75b8125af9113710a748dc13f70fa3cec9053507
7
- data.tar.gz: a0b103f2416df14640927006993e2ad991444329060f541f337c7c59385d4fb8c6a063a7184d065b24f7f34dba2501cd1a5b492fe8e3a3cfd73ba57e5ed5d5a6
6
+ metadata.gz: 7107fffe0cc8edde7184c0063456b24047daff692fd2a610d551f67a1815a6f6b59fcad4a3e10ba215cb25a53c278f8b73701eb5e676febba473cdce2d5a7e1f
7
+ data.tar.gz: f4242662c6b17d314d3ff2f536d0d4016860c18276d30e48b0d39fb07891a282d713a390760a5f862c3d3637263d5a111afe79e23c7b72cd54831487fc9322ac
data/README.md CHANGED
@@ -88,6 +88,17 @@ This feature can be disabled by adding a declaration in your handler file:
88
88
  logging :off
89
89
  ```
90
90
 
91
+ Include `Yake::Logging` on a class to access this logger:
92
+
93
+ ```ruby
94
+ class Fizz
95
+ include Yake::Logger
96
+ end
97
+
98
+ Fizz.new.logger == Yake.logger
99
+ # => true
100
+ ```
101
+
91
102
  #### API Routes
92
103
 
93
104
  A common use of Lambda functions is as a proxy for API Gateway. Oftentimes users will deploy a single Lambda function to handle all requests coming from API Gateway.
data/lib/yake/dsl.rb CHANGED
@@ -10,17 +10,17 @@ module Yake
10
10
  # Lambda handler task wrapper
11
11
  def handler(name, &block)
12
12
  define_method(name) do |event:nil, context:nil|
13
- Yake.logger.nil? ? yield(event, context) : Yake.logger.wrap(event, context, &block)
13
+ Yake.wrap(event, context, &block)
14
14
  end
15
15
  end
16
16
 
17
17
  ##
18
18
  # Turn logging on/off
19
- def logging(switch, logdev = $stdout, **options)
19
+ def logging(switch, logger = nil)
20
20
  if switch == :on
21
- Yake.logger = Yake::Logger.new(logdev)
21
+ Yake.logger = logger
22
22
  elsif switch == :off
23
- Yake.logger = Yake::Logger.new(nil)
23
+ Yake.logger = ::Logger.new(nil)
24
24
  else
25
25
  raise Errors::UnknownLoggingSetting, switch
26
26
  end
data/lib/yake/logger.rb CHANGED
@@ -4,37 +4,41 @@ require "json"
4
4
  require "logger"
5
5
 
6
6
  module Yake
7
- class Logger < ::Logger
8
- def initialize(logdev = $stdout, *)
9
- super
10
- @progname = "-"
11
- @formatter = LambdaFormatter.new
7
+ module Logger
8
+ attr_accessor :logger
9
+
10
+ def logger
11
+ @logger ||= Yake.logger
12
12
  end
13
13
 
14
- def wrap(event = nil, context = nil, &block)
15
- @progname = "RequestId: #{ context.aws_request_id }" if context.respond_to?(:aws_request_id)
16
- info("EVENT #{ event.to_json }")
17
- yield(event, context).tap { |res| info("RETURN #{ res.to_json }") }
18
- ensure
19
- @progname = "-"
14
+ class << self
15
+ def new(logdev = $stdout)
16
+ ::Logger.new(logdev, progname: "-", formatter: Formatter.new)
17
+ end
20
18
  end
21
- end
22
19
 
23
- class LambdaFormatter < ::Logger::Formatter
24
- Format = "%s %s %s\n"
20
+ class Formatter < ::Logger::Formatter
21
+ Format = "%s %s %s\n"
25
22
 
26
- def call(severity, time, progname, msg)
27
- Format % [ severity, progname, msg2str(msg).strip ]
23
+ def call(severity, time, progname, msg)
24
+ Format % [ severity, progname, msg2str(msg).strip ]
25
+ end
28
26
  end
29
27
  end
30
28
 
31
- module Loggable
29
+ class << self
32
30
  attr_accessor :logger
33
31
 
34
32
  def logger
35
33
  @logger ||= Logger.new
36
34
  end
37
- end
38
35
 
39
- extend Loggable
36
+ def wrap(event = nil, context = nil, &block)
37
+ logger.progname = "RequestId: #{ context.aws_request_id }" if context.respond_to?(:aws_request_id)
38
+ logger.info("EVENT #{ event.to_json }")
39
+ yield(event, context).tap { |res| logger.info("RETURN #{ res.to_json }") }
40
+ ensure
41
+ logger.progname = "-"
42
+ end
43
+ end
40
44
  end
data/lib/yake/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Yake
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
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.1.4
4
+ version: 0.1.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: 2021-04-30 00:00:00.000000000 Z
11
+ date: 2021-05-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: