Module: Jets::Lambda::Dsl::Warnings
- Defined in:
- lib/jets/lambda/dsl/warnings.rb
Instance Method Summary collapse
- #app_call_line ⇒ Object
- #class_iam_policy_unused_warning(managed = false) ⇒ Object
- #iam_docs_url(managed) ⇒ Object
- #iam_policy_unused_warning(managed = false) ⇒ Object
- #show_iam_policy_unused_warning? ⇒ Boolean
Instance Method Details
#app_call_line ⇒ Object
53 54 55 |
# File 'lib/jets/lambda/dsl/warnings.rb', line 53 def app_call_line caller.find { |l| l.include?('app/controllers') } end |
#class_iam_policy_unused_warning(managed = false) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/jets/lambda/dsl/warnings.rb', line 23 def class_iam_policy_unused_warning(managed=false) return unless Jets.config.cfn.build.controllers == "one_lambda_for_all_controllers" return if self.to_s == "ApplicationController" # ApplicationController not defined in job mode return if self == Jets::PreheatJob managed_prefix = managed ? "managed_" : "" puts <<~EOL.color(:yellow) WARNING: class_#{managed_prefix}iam_policy is not respected when config.cfn.build.controllers is not set to "one_lambda_per_controller" or "one_lambda_per_method" Current setting: config.cfn.build.controllers = "#{Jets.config.cfn.build.controllers}" Please use class_#{managed_prefix}iam_policy in the ApplicationController instead. Docs: #{iam_docs_url(managed)} EOL DslEvaluator.print_code(app_call_line) if app_call_line end |
#iam_docs_url(managed) ⇒ Object
45 46 47 48 49 50 51 |
# File 'lib/jets/lambda/dsl/warnings.rb', line 45 def iam_docs_url(managed) if managed "http://rubyonjets.com/docs/managed-iam-policies/" else "http://rubyonjets.com/docs/iam-policies/" end end |
#iam_policy_unused_warning(managed = false) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/jets/lambda/dsl/warnings.rb', line 3 def iam_policy_unused_warning(managed=false) return unless show_iam_policy_unused_warning? managed_prefix = managed ? "managed_" : "" use_instead = case Jets.config.cfn.build.controllers when "one_lambda_per_contoller" "class_#{managed_prefix}iam_policy" when "one_lambda_for_all_controllers" "class_#{managed_prefix}iam_policy in the ApplicationController" end puts <<~EOL.color(:yellow) WARNING: #{managed_prefix}iam_policy is not respected when config.cfn.build.controllers is not set to "one_lambda_per_controller" Current setting: config.cfn.build.controllers = "#{Jets.config.cfn.build.controllers}" Please use #{use_instead} instead. Docs: #{iam_docs_url(managed)} EOL DslEvaluator.print_code(app_call_line) if app_call_line end |
#show_iam_policy_unused_warning? ⇒ Boolean
40 41 42 43 |
# File 'lib/jets/lambda/dsl/warnings.rb', line 40 def show_iam_policy_unused_warning? Jets.config.cfn.build.controllers != "one_lambda_per_method" && self.name.include?("Controller") end |