yake

A Rake-like DSL for writing AWS Lambda handlers

MIT License

Downloads
35K
Stars
169
Committers
2
yake - v1.1.0 Latest Release

Published by amancevice 9 months ago

yake - v1.0.0

Published by amancevice over 1 year ago

Added Hash#deep_merge adapted from activesupport gem
Added Hash#to_dynamodb and Hash#to_h_from_dynamodb

yake - v0.1.1

Published by amancevice over 1 year ago

Initial release

yake - v0.1.5

Published by amancevice over 1 year ago

Improvements to the Yake::Logger module

Include or extend Yake::Logger on a class to access the logger, eg

class Fizz
  extend Yake::Logger
end

Fizz.logger == Yake.logger
# => true
yake - v0.2.0

Published by amancevice over 1 year ago

Added ANY route handler:

require "yake/api"

any "/path/to/resource" do |event|
  # …
end

# …
yake - v0.2.1

Published by amancevice over 1 year ago

Updated logger

yake - v0.2.2

Published by amancevice over 1 year ago

Allow route method to accept a block:

get '/my-resource' do |event|
  # handle request…
end

handler :proxy do |event|
  route event do |res|
    # augment the response…
  end
end
yake - v0.3.0

Published by amancevice over 1 year ago

Added Yake::DSL#logger method to make logger more accessible from handler blocks.

yake - v0.4.0

Published by amancevice over 1 year ago

Add helper for using Datadog with yake.

Example usage:

require 'yake/datadog'

Datadog::Lambda.configure_apm { |config| config.use :aws }

datadog :handler do |event, context|
  # …
end
yake - v0.4.3

Published by amancevice over 1 year ago

Update logger formatting when requiring datadog module

yake - v0.4.1

Published by amancevice over 1 year ago

Small improvement to datadog module

yake - v0.4.2

Published by amancevice over 1 year ago

Log event/result using JSON.pretty_generate by default

To disable this feature:

logging pretty: false
# or
Yake.pretty = false
yake - v0.8.0

Published by amancevice almost 2 years ago

Adds support for datadog-lambda v2

yake - v0.7.0

Published by amancevice about 2 years ago

Change default logging pretty value to false

yake - v0.6.5

Published by amancevice about 2 years ago

Added Hash#to_struct and Hash#to_deep_struct in yake/support:

{ f: 'g', a: { d: 'e', b: 'c' } }.to_struct
# => #<OpenStruct f="g", a={:d=>"e", :b=>"c"}>

{ f: 'g', a: { d: 'e', b: 'c' } }.to_deep_struct
# => #<OpenStruct f="g", a=#<OpenStruct d="e", b="c">>

Added String#utc in yake/support:

'2009-02-13T23:31:30Z'.utc
# => 2009-02-13 23:31:30 UTC
yake - v0.6.4

Published by amancevice about 2 years ago

Add Yake::Errors::[] method to look up errors by code

yake - v0.6.3

Published by amancevice about 2 years ago

Fixed Hash#deep_transform_keys/#deep_transform_keys! to work for Hashes nested in Arrays

yake - v0.6.2

Published by amancevice over 2 years ago

Added support methods to Hash:

  • Hash#deep_keys returns all nested keys in a Hash
  • Hash#deep_transform_keys transforms all nested keys in a Hash
  • Hash#deep_transform_keys! transforms all nested keys in a Hash in place
  • Hash#stringify_names! stringifies names in place
  • Hash#symbolize_names! symbolizes names in place

Hash#symbolize_names and Hash#stringify_names now use Hash#deep_transform_keys

{ a: { b: 'c', d: 'e' }, f: 'g' }.deep_keys
# => [:a, :b, :d, :f]

{ a: { b: 'c', d: 'e' }, f: 'g' }.deep_transform_keys(&:to_s)
# => { "a" => { "b" => "c", "d" => "e" }, "f" => "g" }

hash = { a: { b: 'c', d: 'e' }, f: 'g' }
hash.deep_transform_keys!(&:to_s)
# => { "a" => { "b" => "c", "d" => "e" }, "f" => "g" }
yake - v0.6.1

Published by amancevice over 2 years ago

Logger uses STDERR by default instead of STDOUT

yake - v0.6.0

Published by amancevice over 2 years ago

Added &block to Object#try in yake/support:

10.try(:some_method) { |x| x ** 2 }
# => 100

Added Hash#deep_sort and Hash#to_json_sorted in yake/support:

{ f: 'g', a: { d: 'e', b: 'c' } }.deep_sort
# => { a: { b: 'c', d: 'e' }, f: 'g' }

{ f: 'g', a: { d: 'e', b: 'c' } }.to_json_sorted
# => '{"a":{"b":"c","d":"e"},"f":"g"}'

Added String#md5sum and String#sha1sum in yake/support:

'fizz'.md5sum
# => "b6bfa6c318811be022d4f73070597660"

'fizz'.sha1sum
# => "c25f5985f2ab63baeb2408a2d7dbc79d8f29d02f"
Package Rankings
Top 14.23% on Rubygems.org
Badges
Extracted from project README
gem rspec coverage maintainability
Related Projects