Class: Xaases::Aws::LambdaJs

Inherits:
Object
  • Object
show all
Defined in:
lib/xaases/aws/lambda_js.rb

Instance Method Summary collapse

Constructor Details

#initializeLambdaJs

Returns a new instance of LambdaJs.



5
6
7
8
9
# File 'lib/xaases/aws/lambda_js.rb', line 5

def initialize
  @js = Xaases::Js.new
  @js.strict!
  @js.const(aws: "require('aws-sdk')")
end

Instance Method Details

#export(name, content) ⇒ Object



15
16
17
18
# File 'lib/xaases/aws/lambda_js.rb', line 15

def export(name, content)
  f = Xaases::Js::Function.new(:eve, :ctx, :cb)
  @js.export(name, f)
end

#put(table, data, handler) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/xaases/aws/lambda_js.rb', line 26

def put(table, data, handler)
  params = {
    'TableName' => "'#{table}'",
    'Item' => Xaases::Js.new.hash(data)
  }
  params_js = Xaases::Js.new.hash(params)
  @js.call :put, params_js, handler
end

#renderObject



35
36
37
# File 'lib/xaases/aws/lambda_js.rb', line 35

def render
  @js
end

#res(status, content) ⇒ Object



20
21
22
23
24
# File 'lib/xaases/aws/lambda_js.rb', line 20

def res(status, content)
  #err = err ? err : 'null'
  body = Xaases::Js.new.hash('statusCode' => status, 'body' => content)
  @js.call :callback, 'null', body
end

#use_dynamo!Object



11
12
13
# File 'lib/xaases/aws/lambda_js.rb', line 11

def use_dynamo!
  @js.const(dyn: 'new aws.DynamoDB()')
end