Class: Jets::Cfn::Builder::Controller

Inherits:
Nested
  • Object
show all
Defined in:
lib/jets/cfn/builder/controller.rb

Instance Method Summary collapse

Methods inherited from Nested

#add_class_iam_policy, #add_common_parameters, #add_function, #add_function_iam_policy, #add_functions, #build_class_iam_policy?, #depends_on_params, #initialize, #one_lambda_per_controller, #one_lambda_per_method, #scoped_routes, #template_path, #validate_function_names!

Methods included from Interface

#add_description, #add_output, #add_parameter, #add_parameters, #add_resource, #add_resources, #add_template_resource, #build, #build?, #template, #text, #write

Methods included from Util::Camelize

#camelize

Constructor Details

This class inherits a constructor from Jets::Cfn::Builder::Nested

Instance Method Details

#add_api_gateway_parametersObject



23
24
25
26
# File 'lib/jets/cfn/builder/controller.rb', line 23

def add_api_gateway_parameters
  return if Jets::Router.no_routes?
  add_parameter(:RestApi)
end

#add_outputsObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/jets/cfn/builder/controller.rb', line 12

def add_outputs
  outputs = {}
  @template[:Resources].each do |logical_id, resource|
    next unless resource[:Type] == "AWS::Lambda::Function"
    outputs.merge!(logical_id => {
      Value: "!GetAtt #{logical_id}.Arn"
    })
  end
  @template[:Outputs] = outputs
end

#composeObject

interface method



4
5
6
7
8
9
10
# File 'lib/jets/cfn/builder/controller.rb', line 4

def compose
  add_common_parameters
  add_api_gateway_parameters
  add_functions
  add_resources
  add_outputs
end