yake 0.1.4 → 0.1.5

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