Class: Jets::Cfn::Builder::OneController
- Defined in:
- lib/jets/cfn/builder/one_controller.rb
Instance Method Summary collapse
- #add_api_gateway_parameters ⇒ Object
- #add_application_controller_iam_policy ⇒ Object
- #add_one_function ⇒ Object
- #add_outputs ⇒ Object
- #build? ⇒ Boolean
-
#compose ⇒ Object
interface method.
-
#template_path ⇒ Object
interface method.
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, #validate_function_names!
Methods included from Interface
#add_description, #add_output, #add_parameter, #add_parameters, #add_resource, #add_resources, #add_template_resource, #build, #template, #text, #write
Methods included from Util::Camelize
Constructor Details
This class inherits a constructor from Jets::Cfn::Builder::Nested
Instance Method Details
#add_api_gateway_parameters ⇒ Object
48 49 50 51 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 48 def add_api_gateway_parameters return if Jets::Router.no_routes? add_parameter(:RestApi) end |
#add_application_controller_iam_policy ⇒ Object
30 31 32 33 34 35 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 30 def add_application_controller_iam_policy klass = ApplicationController return unless klass.build_class_iam? resource = Jets::Cfn::Resource::Iam::ClassRole.new(klass) add_resource(resource) end |
#add_one_function ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 20 def add_one_function resource = Jets::Cfn::Resource::One::Function.new add_resource(resource) add_application_controller_iam_policy unless Jets::Router.no_routes? = Jets::Cfn::Resource::One::Permission.new add_resource() end end |
#add_outputs ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 37 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 |
#build? ⇒ Boolean
3 4 5 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 3 def build? true end |
#compose ⇒ Object
interface method
8 9 10 11 12 13 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 8 def compose add_one_function add_common_parameters add_api_gateway_parameters add_outputs end |
#template_path ⇒ Object
interface method
16 17 18 |
# File 'lib/jets/cfn/builder/one_controller.rb', line 16 def template_path Jets::Names.one_controller_template_path end |