class Xaases::Aws::LambdaJs

Attributes

minify[R]

Public Class Methods

new(minify: true, header: false) click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 7
def initialize(minify: true, header: false)
  @minify = minify
  @js = Xaases::Js.new(minify: minify)
  header! if header
end

Public Instance Methods

dynamo_put(table, data, handler) click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 36
def dynamo_put(table, data, handler)
  params = {
    'TableName' => "'#{table}'",
    'Item' => Xaases::Js.new(minify: minify).hash(data)
  }
  params_js = Xaases::Js.new(minify: minify).hash(params)
  @js.call 'db.put', params_js, handler
end
export(name, content) click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 23
def export(name, content)
  #f = Xaases::Js::Function.new(:eve, :ctx, :cb)
  f = Xaases::Js::Function.new(:event, :context, :callback)
  f.content = content
  @js.export(name, f)
end
header!() click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 13
def header!
  @js.strict!
  @js.const(aws: "require('aws-sdk')")
  use_dynamo!
end
render() click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 45
def render
  @js.render
end
res(status, content) click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 30
def res(status, content)
  #err = err ? err : 'null'
  body = Xaases::Js.new(minify: minify).hash('statusCode' => status, 'body' => content)
  @js.call :callback, 'null', body
end
use_dynamo!() click to toggle source
# File lib/xaases/aws/lambda_js.rb, line 19
def use_dynamo!
  @js.const(db: 'new aws.DynamoDB()')
end