Sha256: ad6b9d09dc66212ceece83f9bd332bbd9fb7ba64ef9e480d2f499ecf5be3995d
Contents?: true
Size: 823 Bytes
Versions: 10
Compression:
Stored size: 823 Bytes
Contents
# Implements: # # initialize # iam_policy # logical_id # role_name # module Jets::Cfn::TemplateMappers::IamPolicy class ClassPolicyMapper < BasePolicyMapper def initialize(app_class) @app_class = app_class # IE: @app_class: PostsController, HardJob, Hello, HelloFunction end def iam_policy Jets::Cfn::TemplateBuilders::IamPolicy::ClassPolicy.new(@app_class) end memoize :iam_policy # Example: PostsControllerLambdaFunction # Note there are is no "Show" action in the name # There should be no namespace in the logical_id. def logical_id classify_name("#{@app_class}_iam_role") end # There should be namespace in the role_name. def role_name classify_name("#{namespace}_#{@app_class}_iam_role").underscore.dasherize end end end
Version data entries
10 entries across 10 versions & 1 rubygems