Class: Jets::Cfn::TemplateMappers::IamPolicy::ClassPolicyMapper

Inherits:
BasePolicyMapper
  • Object
show all
Defined in:
lib/jets/cfn/template_mappers/iam_policy/class_policy_mapper.rb

Instance Method Summary collapse

Methods inherited from BasePolicyMapper

#classify_name, #namespace, #properties

Constructor Details

#initialize(app_class) ⇒ ClassPolicyMapper

Returns a new instance of ClassPolicyMapper.



10
11
12
13
# File 'lib/jets/cfn/template_mappers/iam_policy/class_policy_mapper.rb', line 10

def initialize(app_class)
  @app_class = app_class
  # IE: @app_class: PostsController, HardJob, Hello, HelloFunction
end

Instance Method Details

#iam_policyObject



15
16
17
# File 'lib/jets/cfn/template_mappers/iam_policy/class_policy_mapper.rb', line 15

def iam_policy
  Jets::Cfn::TemplateBuilders::IamPolicy::ClassPolicy.new(@app_class)
end

#logical_idObject

Example: PostsControllerLambdaFunction Note there are is no “Show” action in the name There should be no namespace in the logical_id.



23
24
25
# File 'lib/jets/cfn/template_mappers/iam_policy/class_policy_mapper.rb', line 23

def logical_id
  classify_name("#{@app_class}_iam_role")
end

#role_nameObject

There should be namespace in the role_name.



28
29
30
# File 'lib/jets/cfn/template_mappers/iam_policy/class_policy_mapper.rb', line 28

def role_name
  classify_name("#{namespace}_#{@app_class}_iam_role").underscore.dasherize
end