diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4a76c67d..8e169e39 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,3 @@ ---- name: tests on: [ push, pull_request ] jobs: @@ -26,3 +25,14 @@ jobs: CLICOLOR_FORCE: 1 - name: Cucumber run: bundle exec rake features + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.4' + bundler-cache: true + - name: Rubocop + run: bundle exec rake rubocop diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 00000000..64372a56 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,6 @@ +inherit_from: .rubocop_todo.yml + +AllCops: + NewCops: disable + SuggestExtensions: false + TargetRubyVersion: 2.4 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 00000000..8165b482 --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,1649 @@ +# This configuration was generated by +# `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 100 --no-offense-counts --no-auto-gen-timestamp` +# using RuboCop version 1.81.7. +# The point is for the user to remove these configuration records +# one by one as the offenses are removed from the code base. +# Note that changes in the inspected code, or installation of new +# versions of RuboCop, may require this file to be generated again. + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation. +Gemspec/OrderedDependencies: + Exclude: + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: outdent, indent +Layout/AccessModifierIndentation: + Exclude: + - 'lib/stack_master/parameter_resolvers/security_group.rb' + - 'lib/stack_master/parameter_resolvers/sso_group_id.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: with_first_argument, with_fixed_indentation +Layout/ArgumentAlignment: + Exclude: + - 'lib/stack_master/aws_driver/cloud_formation.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/config.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/BlockEndNewline: + Exclude: + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_compilers/yaml_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/ClosingHeredocIndentation: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'spec/stack_master/parameter_validator_spec.rb' + - 'spec/stack_master/template_compilers/yaml_erb_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/ConditionPosition: + Exclude: + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/ElseAlignment: + Exclude: + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/validator.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterGuardClause: + Exclude: + - 'lib/stack_master.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/parameter_resolvers/acm_certificate.rb' + - 'lib/stack_master/parameter_resolvers/env.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/parameter_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/number_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/string_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/stack_differ.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/stack_status.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/template_utils.rb' + - 'lib/stack_master/utils.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLineAfterMagicComment: + Exclude: + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLines: + Exclude: + - 'features/step_definitions/stack_steps.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: around, only_before +Layout/EmptyLinesAroundAccessModifier: + Exclude: + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolvers/sso_group_id.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLinesAroundArguments: + Exclude: + - 'lib/stack_master/config.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowAliasSyntax, AllowedMethods. +# AllowedMethods: alias_method, public, protected, private +Layout/EmptyLinesAroundAttributeAccessor: + Exclude: + - 'lib/stack_master.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Exclude: + - 'lib/stack_master/sparkle_formation/template_file.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/commands/init_spec.rb' + - 'spec/stack_master/commands/nag_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/commands/validate_spec.rb' + - 'spec/stack_master/parameter_loader_spec.rb' + - 'spec/stack_master/parameter_resolvers/env_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/sns_topic_finder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/empty_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/number_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/state_builder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/string_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_compilers/yaml_spec.rb' + - 'spec/stack_master/validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only +Layout/EmptyLinesAroundClassBody: + Exclude: + - 'lib/stack_master/aws_driver/cloud_formation.rb' + - 'lib/stack_master/commands/nag.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/parameter_resolvers/env.rb' + - 'lib/stack_master/parameter_resolvers/parameter_store.rb' + - 'lib/stack_master/sns_topic_finder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/empty_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/number_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/state_builder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/string_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_builder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLinesAroundMethodBody: + Exclude: + - 'lib/stack_master/commands/delete.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/validator.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses +Layout/FirstArgumentIndentation: + Exclude: + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_brackets +Layout/FirstArrayElementIndentation: + Exclude: + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'spec/stack_master/cloudformation_interpolating_eruby_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/utils_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_braces +Layout/FirstHashElementIndentation: + Exclude: + - 'features/step_definitions/asume_role_steps.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/parameter_store.rb' + - 'lib/stack_master/role_assumer.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'spec/stack_master/aws_driver/s3_spec.rb' + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/identity_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/role_assumer_spec.rb' + - 'spec/stack_master/sso_group_id_finder_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Exclude: + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/config.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + - 'spec/stack_master/stack_events/presenter_spec.rb' + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Layout/HeredocIndentation: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'spec/integration/drift_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: normal, indented_internal_methods +Layout/IndentationConsistency: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/template_utils_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Width, AllowedPatterns. +Layout/IndentationWidth: + Exclude: + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/validator.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. +# URISchemes: http, https +Layout/LineLength: + Exclude: + - 'features/step_definitions/parameter_store_steps.rb' + - 'features/step_definitions/stack_steps.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/commands/resources.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/identity.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/parameter_resolvers/acm_certificate.rb' + - 'lib/stack_master/parameter_resolvers/ejson.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/parameter_resolvers/stack_output.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sns_topic_finder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_events/fetcher.rb' + - 'lib/stack_master/stack_events/presenter.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/template_utils.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/commands/init_spec.rb' + - 'spec/stack_master/commands/resources_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/identity_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_loader_spec.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/stack_master/parameter_resolvers/ejson_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/state_builder_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/presenter_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + - 'spec/stack_master/validator_spec.rb' + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineArrayBraceLayout: + Exclude: + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/MultilineBlockLayout: + Exclude: + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_compilers/yaml_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineHashBraceLayout: + Exclude: + - 'spec/stack_master/aws_driver/s3_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: symmetrical, new_line, same_line +Layout/MultilineMethodCallBraceLayout: + Exclude: + - 'lib/stack_master/config.rb' + - 'spec/stack_master/commands/compile_spec.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/commands/nag_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentationWidth. +# SupportedStyles: aligned, indented, indented_relative_to_receiver +Layout/MultilineMethodCallIndentation: + Exclude: + - 'spec/stack_master/parameter_resolvers/env_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/SpaceAfterColon: + Exclude: + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/SpaceAfterComma: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/stack_events/presenter_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceAroundEqualsInParameterDefault: + Exclude: + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/template_utils.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/SpaceAroundKeyword: + Exclude: + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals. +# SupportedStylesForExponentOperator: space, no_space +# SupportedStylesForRationalLiterals: space, no_space +Layout/SpaceAroundOperators: + Exclude: + - 'lib/stack_master/cli.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Layout/SpaceBeforeComma: + Exclude: + - 'spec/stack_master/commands/apply_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: require_no_space, require_space +Layout/SpaceInLambdaLiteral: + Exclude: + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/empty_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/number_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/string_validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'lib/stack_master/stack_definition.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/parameter_resolvers/ami_finder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/string_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'spec/stack_master/cloudformation_template_eruby_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/commands/init_spec.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/state_builder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'lib/stack_master/commands/delete.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/parameter_resolvers/ami_finder.rb' + - 'spec/stack_master/aws_driver/s3_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_loader_spec.rb' + - 'spec/stack_master/parameter_resolvers/ami_finder_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_ami_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/sns_topic_name_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + - 'spec/stack_master/parameter_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/empty_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/number_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/state_builder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/string_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + - 'spec/stack_master/sso_group_id_finder_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + - 'spec/stack_master/template_compilers/yaml_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + - 'spec/stack_master/utils_spec.rb' + - 'spec/stack_master/validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, compact, no_space +Layout/SpaceInsideParens: + Exclude: + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingEmptyLines: + Exclude: + - 'lib/stack_master/resolver_array.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'lib/stack_master/sparkle_formation/template_file.rb' + - 'spec/stack_master/parameter_resolvers/sso_group_id_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_size_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Exclude: + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/resolver_array_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowSafeAssignment. +Lint/AssignmentInCondition: + Exclude: + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + +# Configuration parameters: AllowedMethods. +# AllowedMethods: enums +Lint/ConstantDefinitionInBlock: + Exclude: + - 'spec/stack_master/resolver_array_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + +# Configuration parameters: DebuggerMethods, DebuggerRequires. +Lint/Debugger: + Exclude: + - 'Rakefile' + +Lint/DuplicateMethods: + Exclude: + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + +Lint/IneffectiveAccessModifier: + Exclude: + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: standard_error, runtime_error +Lint/InheritException: + Exclude: + - 'lib/stack_master/ctrl_c.rb' + +# This cop supports safe autocorrection (--autocorrect). +Lint/LiteralInInterpolation: + Exclude: + - 'spec/stack_master/sparkle_formation/compile_time/definitions_validator_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +Lint/Loop: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/paged_response_accumulator.rb' + +# Configuration parameters: AllowedParentClasses. +Lint/MissingSuper: + Exclude: + - 'lib/stack_master/parameter_resolvers/acm_certificate.rb' + - 'lib/stack_master/parameter_resolvers/ejson.rb' + - 'lib/stack_master/parameter_resolvers/env.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami_by_tags.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/parameter_resolvers/parameter_store.rb' + - 'lib/stack_master/parameter_resolvers/security_group.rb' + - 'lib/stack_master/parameter_resolvers/sns_topic_name.rb' + - 'lib/stack_master/parameter_resolvers/sso_group_id.rb' + - 'lib/stack_master/parameter_resolvers/stack_output.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/empty_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/number_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/string_validator.rb' + - 'lib/stack_master/sparkle_formation/template_file.rb' + +Lint/NonLocalExitFromIterator: + Exclude: + - 'lib/stack_master/cli.rb' + +# Configuration parameters: AllowRBSInlineAnnotation. +Lint/SelfAssignment: + Exclude: + - 'lib/stack_master/cli.rb' + +# This cop supports safe autocorrection (--autocorrect). +Lint/SendWithMixinArgument: + Exclude: + - 'lib/stack_master/sparkle_formation/template_file.rb' + +# Configuration parameters: AllowComments, AllowNil. +Lint/SuppressedException: + Exclude: + - 'Rakefile' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/stack_status.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. +Lint/UnusedBlockArgument: + Exclude: + - 'features/step_definitions/parameter_store_steps.rb' + - 'lib/stack_master/stack_differ.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions. +# NotImplementedExceptions: NotImplementedError +Lint/UnusedMethodArgument: + Exclude: + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/test_driver/s3.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/support/aws_stubs.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods. +Lint/UselessAccessModifier: + Exclude: + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + +# This cop supports safe autocorrection (--autocorrect). +Lint/UselessAssignment: + Exclude: + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami_by_tags.rb' + - 'lib/stack_master/template_compiler.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: CheckForMethodsWithNoSideEffects. +Lint/Void: + Exclude: + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max. +Metrics/AbcSize: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/command.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/validator.rb' + - 'spec/support/validator_spec.rb' + +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns. +# AllowedMethods: refine +Metrics/BlockLength: + Exclude: + - '**/*.gemspec' + - 'example/simple/templates/myapp_vpc.rb' + - 'spec/integration/drift_spec.rb' + - 'spec/stack_master/aws_driver/s3_spec.rb' + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/cloudformation_interpolating_eruby_spec.rb' + - 'spec/stack_master/cloudformation_template_eruby_spec.rb' + - 'spec/stack_master/command_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/commands/compile_spec.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/commands/nag_spec.rb' + - 'spec/stack_master/commands/outputs_spec.rb' + - 'spec/stack_master/commands/resources_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/identity_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_loader_spec.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/stack_master/parameter_resolvers/acm_certificate_spec.rb' + - 'spec/stack_master/parameter_resolvers/ami_finder_spec.rb' + - 'spec/stack_master/parameter_resolvers/ejson_spec.rb' + - 'spec/stack_master/parameter_resolvers/env_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_ami_by_tags_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_ami_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/parameter_resolvers/sns_topic_name_spec.rb' + - 'spec/stack_master/parameter_resolvers/sso_group_id_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + - 'spec/stack_master/parameter_validator_spec.rb' + - 'spec/stack_master/role_assumer_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_pattern_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/allowed_values_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/empty_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/max_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/min_length_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/number_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/parameters_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/string_validator_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_validator_factory_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + - 'spec/stack_master/sso_group_id_finder_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + - 'spec/stack_master/template_compilers/yaml_erb_spec.rb' + - 'spec/stack_master/template_utils_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + - 'spec/stack_master/validator_spec.rb' + - 'spec/stack_master_spec.rb' + +# Configuration parameters: CountComments, Max, CountAsOne. +Metrics/ClassLength: + Exclude: + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +Metrics/CyclomaticComplexity: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/stack_events/streamer.rb' + +# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns. +Metrics/MethodLength: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/commands/lint.rb' + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/paged_response_accumulator.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/stack_output.rb' + - 'lib/stack_master/parameter_validator.rb' + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/validator.rb' + - 'spec/support/aws_stubs.rb' + +# Configuration parameters: CountComments, Max, CountAsOne. +Metrics/ModuleLength: + Exclude: + - 'lib/stack_master.rb' + +# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters. +Metrics/ParameterLists: + Exclude: + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/template_compiler.rb' + +# Configuration parameters: AllowedMethods, AllowedPatterns, Max. +Metrics/PerceivedComplexity: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/stack_definition.rb' + +Naming/AccessorMethodName: + Exclude: + - 'lib/stack_master/aws_driver/cloud_formation.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/test_driver/s3.rb' + +# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms. +# CheckDefinitionPathHierarchyRoots: lib, spec, test, src +# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS +Naming/FileName: + Exclude: + - 'Rakefile.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + +# Configuration parameters: ForbiddenDelimiters. +# ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$)) +Naming/HeredocDelimiterNaming: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyleForLeadingUnderscores. +# SupportedStylesForLeadingUnderscores: disallowed, required, optional +Naming/MemoizedInstanceVariableName: + Exclude: + - 'lib/stack_master/stack_differ.rb' + +# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. +# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to +Naming/MethodParameterName: + Exclude: + - 'lib/stack_master/command.rb' + - 'lib/stack_master/paged_response_accumulator.rb' + +# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs. +# NamePrefix: is_, has_, have_, does_ +# ForbiddenPrefixes: is_, has_, have_, does_ +# AllowedMethods: is_a? +# MethodDefinitionMacros: define_method, define_singleton_method +Naming/PredicatePrefix: + Exclude: + - 'spec/**/*' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/empty_validator.rb' + - 'lib/stack_master/sparkle_formation/template_file.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredName. +Naming/RescuedExceptionsVariableName: + Exclude: + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 +Naming/VariableNumber: + Exclude: + - 'example/simple/templates/myapp_vpc.rb' + - 'spec/fixtures/templates/rb/sparkle_formation/templates/template.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +Security/YAMLLoad: + Exclude: + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/template_utils.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: prefer_alias, prefer_alias_method +Style/Alias: + Exclude: + - 'lib/stack_master/sparkle_formation/template_file.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, conditionals +Style/AndOr: + Exclude: + - 'lib/stack_master/cli.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: percent_q, bare_percent +Style/BarePercentLiterals: + Exclude: + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces +# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object +# FunctionalMethods: let, let!, subject, watch +# AllowedMethods: lambda, proc, it +Style/BlockDelimiters: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + - 'spec/stack_master/change_set_spec.rb' + - 'spec/stack_master/command_spec.rb' + - 'spec/stack_master/commands/compile_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/commands/nag_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/paged_response_accumulator_spec.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/parameter_resolvers/sns_topic_name_spec.rb' + - 'spec/stack_master/parameter_resolvers/sso_group_id_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + - 'spec/stack_master/sso_group_id_finder_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + - 'spec/stack_master/template_compilers/yaml_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowOnConstant, AllowOnSelfClass. +Style/CaseEquality: + Exclude: + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/stack_definition.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, EnforcedStyleForClasses, EnforcedStyleForModules. +# SupportedStyles: nested, compact +# SupportedStylesForClasses: ~, nested, compact +# SupportedStylesForModules: ~, nested, compact +Style/ClassAndModuleChildren: + Exclude: + - 'lib/stack_master/template_compilers/cfndsl.rb' + - 'lib/stack_master/template_compilers/json.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/template_compilers/yaml.rb' + - 'lib/stack_master/template_compilers/yaml_erb.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowInnerBackticks. +# SupportedStyles: backticks, percent_x, mixed +Style/CommandLiteral: + Exclude: + - 'lib/stack_master/parameter_resolvers/one_password.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. +# SupportedStyles: assign_to_condition, assign_inside_condition +Style/ConditionalAssignment: + Exclude: + - 'lib/stack_master/command.rb' + - 'lib/stack_master/parameter_validator.rb' + +# Configuration parameters: AllowedConstants. +Style/Documentation: + Exclude: + - 'spec/**/*' + - 'test/**/*' + - 'lib/stack_master.rb' + - 'lib/stack_master/aws_driver/cloud_formation.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/command.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/compile.rb' + - 'lib/stack_master/commands/delete.rb' + - 'lib/stack_master/commands/diff.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/events.rb' + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/commands/lint.rb' + - 'lib/stack_master/commands/list_stacks.rb' + - 'lib/stack_master/commands/nag.rb' + - 'lib/stack_master/commands/outputs.rb' + - 'lib/stack_master/commands/resources.rb' + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/commands/terminal_helper.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/commands/validate.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/diff.rb' + - 'lib/stack_master/identity.rb' + - 'lib/stack_master/paged_response_accumulator.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/parameter_resolvers/acm_certificate.rb' + - 'lib/stack_master/parameter_resolvers/ami_finder.rb' + - 'lib/stack_master/parameter_resolvers/ejson.rb' + - 'lib/stack_master/parameter_resolvers/env.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami_by_tags.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/parameter_resolvers/parameter_store.rb' + - 'lib/stack_master/parameter_resolvers/security_group.rb' + - 'lib/stack_master/parameter_resolvers/sns_topic_name.rb' + - 'lib/stack_master/parameter_resolvers/sso_group_id.rb' + - 'lib/stack_master/parameter_resolvers/stack_output.rb' + - 'lib/stack_master/parameter_validator.rb' + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/resolver_array.rb' + - 'lib/stack_master/role_assumer.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sns_topic_finder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/empty_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/max_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/number_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/state_builder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/string_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_builder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'lib/stack_master/sparkle_formation/template_file.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/stack_differ.rb' + - 'lib/stack_master/stack_events/fetcher.rb' + - 'lib/stack_master/stack_events/presenter.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/stack_states.rb' + - 'lib/stack_master/stack_status.rb' + - 'lib/stack_master/template_compiler.rb' + - 'lib/stack_master/template_compilers/cfndsl.rb' + - 'lib/stack_master/template_compilers/json.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/template_compilers/yaml.rb' + - 'lib/stack_master/template_compilers/yaml_erb.rb' + - 'lib/stack_master/template_utils.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + - 'lib/stack_master/test_driver/s3.rb' + - 'lib/stack_master/utils.rb' + - 'lib/stack_master/validator.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/EachWithObject: + Exclude: + - 'features/step_definitions/stack_steps.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/stack.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/utils.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/EmptyLiteral: + Exclude: + - 'lib/stack_master/test_driver/s3.rb' + - 'spec/stack_master/stack_differ_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: compact, expanded +Style/EmptyMethod: + Exclude: + - 'lib/stack_master/test_driver/s3.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/Encoding: + Exclude: + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Style/ExpandPathArguments: + Exclude: + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Style/ExplicitBlockArgument: + Exclude: + - 'lib/stack_master/parameter_resolver.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: + Enabled: false + +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/GlobalStdStream: + Exclude: + - 'lib/stack_master/cli.rb' + - 'spec/stack_master/commands/apply_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. +Style/GuardClause: + Exclude: + - 'lib/stack_master/aws_driver/cloud_formation.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/events.rb' + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/parameter_resolvers/ejson.rb' + - 'lib/stack_master/parameter_resolvers/stack_output.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_builder.rb' + - 'lib/stack_master/test_driver/cloud_formation.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either, consistent, either_consistent +Style/HashSyntax: + Exclude: + - 'Rakefile' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'spec/stack_master/aws_driver/s3_spec.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/IfUnlessModifier: + Exclude: + - 'bin/stack_master' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/events.rb' + - 'lib/stack_master/parameter_resolvers/acm_certificate.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sns_topic_finder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_builder.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator.rb' + - 'lib/stack_master/stack_differ.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'lib/stack_master/template_utils.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'lib/stack_master/commands/tidy.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/KeywordParametersOrder: + Exclude: + - 'lib/stack_master/diff.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. +Style/MethodCallWithoutArgsParentheses: + Exclude: + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/parameter_resolvers/sso_group_id.rb' + - 'spec/stack_master/commands/init_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline +Style/MethodDefParentheses: + Exclude: + - 'lib/stack_master/config.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, Autocorrect. +# SupportedStyles: module_function, extend_self, forbidden +Style/ModuleFunction: + Exclude: + - 'lib/stack_master.rb' + - 'lib/stack_master/stack_states.rb' + - 'lib/stack_master/template_utils.rb' + - 'lib/stack_master/utils.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/MultilineIfModifier: + Exclude: + - 'lib/stack_master/cli.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/parameter_loader.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb' + - 'lib/stack_master/version.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: both, prefix, postfix +Style/NegatedIf: + Exclude: + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/commands/tidy.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals. +# SupportedStyles: skip_modifier_ifs, always +Style/Next: + Exclude: + - 'lib/stack_master/commands/tidy.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinDigits, Strict, AllowedNumbers, AllowedPatterns. +Style/NumericLiterals: + Exclude: + - 'lib/stack_master/template_compilers/json.rb' + - 'lib/stack_master/template_utils.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_ami_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_utils_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Exclude: + - 'spec/**/*' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/events.rb' + - 'lib/stack_master/commands/nag.rb' + +# Configuration parameters: AllowedMethods. +# AllowedMethods: respond_to_missing? +Style/OptionalBooleanParameter: + Exclude: + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/stack.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/ParallelAssignment: + Exclude: + - 'lib/stack_master/cli.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'spec/stack_master/identity_spec.rb' + - 'stack_master.gemspec' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowedCompactTypes. +# SupportedStyles: compact, exploded +Style/RaiseArgs: + Exclude: + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolver.rb' + - 'lib/stack_master/parameter_resolvers/sns_topic_name.rb' + - 'lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb' + - 'lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantAssignment: + Exclude: + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/parameter_resolvers/ami_finder.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantException: + Exclude: + - 'spec/stack_master/command_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/RedundantInterpolation: + Exclude: + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/resolver_array.rb' + - 'lib/stack_master/stack_definition.rb' + - 'spec/stack_master/stack_definition_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantPercentQ: + Exclude: + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpCharacterClass: + Exclude: + - 'spec/stack_master/command_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantRegexpEscape: + Exclude: + - 'spec/stack_master/stack_differ_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowMultipleReturnValues. +Style/RedundantReturn: + Exclude: + - 'lib/stack_master/parameter_resolvers/one_password.rb' + +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantSelf: + Exclude: + - 'lib/stack_master/commands/list_stacks.rb' + - 'lib/stack_master/commands/outputs.rb' + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/resolver_array.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed +Style/RegexpLiteral: + Exclude: + - 'lib/stack_master/commands/terminal_helper.rb' + - 'lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'spec/stack_master/command_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/stack_events/streamer.rb' + - 'lib/stack_master/stack_status.rb' + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: only_raise, only_fail, semantic +Style/SignalException: + Exclude: + - 'lib/stack_master/resolver_array.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: RequireEnglish, EnforcedStyle. +# SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names +Style/SpecialGlobalVars: + Exclude: + - 'lib/stack_master/commands/nag.rb' + - 'lib/stack_master/parameter_resolver.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. +Style/StringConcatenation: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/stack_differ.rb' + - 'spec/stack_master/commands/compile_spec.rb' + - 'spec/stack_master/template_utils_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'Rakefile' + - 'bin/stack_master' + - 'example/simple/templates/myapp_vpc.rb' + - 'example/simple/templates/myapp_web.rb' + - 'features/step_definitions/parameter_store_steps.rb' + - 'features/support/env.rb' + - 'lib/stack_master.rb' + - 'lib/stack_master/aws_driver/s3.rb' + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/cli.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/delete.rb' + - 'lib/stack_master/commands/drift.rb' + - 'lib/stack_master/commands/init.rb' + - 'lib/stack_master/commands/lint.rb' + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/commands/terminal_helper.rb' + - 'lib/stack_master/commands/tidy.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/diff.rb' + - 'lib/stack_master/parameter_resolvers/latest_ami_by_tags.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/parameter_resolvers/one_password.rb' + - 'lib/stack_master/prompter.rb' + - 'lib/stack_master/role_assumer.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sns_topic_finder.rb' + - 'lib/stack_master/stack_definition.rb' + - 'lib/stack_master/stack_differ.rb' + - 'lib/stack_master/validator.rb' + - 'lib/stack_master/version.rb' + - 'spec/fixtures/sparkle_pack_integration/my_sparkle_pack/lib/sparkleformation/dynamics/my_dynamic.rb' + - 'spec/fixtures/sparkle_pack_integration/my_sparkle_pack/lib/sparkleformation/templates/dynamics/local_dynamic.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp-repeated.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample-ctp.rb' + - 'spec/fixtures/templates/rb/cfndsl/sample.rb' + - 'spec/fixtures/templates/rb/sparkle_formation/templates/template.rb' + - 'spec/integration/drift_spec.rb' + - 'spec/spec_helper.rb' + - 'spec/stack_master/aws_driver/s3_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/commands/compile_spec.rb' + - 'spec/stack_master/commands/delete_spec.rb' + - 'spec/stack_master/commands/drift_spec.rb' + - 'spec/stack_master/commands/init_spec.rb' + - 'spec/stack_master/commands/lint_spec.rb' + - 'spec/stack_master/commands/nag_spec.rb' + - 'spec/stack_master/commands/status_spec.rb' + - 'spec/stack_master/commands/validate_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/parameter_loader_spec.rb' + - 'spec/stack_master/parameter_resolver_spec.rb' + - 'spec/stack_master/parameter_resolvers/ami_finder_spec.rb' + - 'spec/stack_master/parameter_resolvers/ejson_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/parameter_resolvers/one_password_spec.rb' + - 'spec/stack_master/parameter_resolvers/parameter_store_spec.rb' + - 'spec/stack_master/parameter_resolvers/security_group_spec.rb' + - 'spec/stack_master/parameter_resolvers/security_groups_spec.rb' + - 'spec/stack_master/parameter_resolvers/stack_output_spec.rb' + - 'spec/stack_master/parameter_validator_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/sparkle_formation/template_file_spec.rb' + - 'spec/stack_master/sso_group_id_finder_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/stack_differ_spec.rb' + - 'spec/stack_master/stack_events/presenter_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + - 'spec/stack_master/stack_spec.rb' + - 'spec/stack_master/template_compiler_spec.rb' + - 'spec/stack_master/template_compilers/cfndsl_spec.rb' + - 'spec/stack_master/template_compilers/json_spec.rb' + - 'spec/stack_master/template_compilers/sparkle_formation_spec.rb' + - 'spec/stack_master/template_utils_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + - 'spec/stack_master/utils_spec.rb' + - 'spec/stack_master/validator_spec.rb' + - 'spec/stack_master_spec.rb' + - 'spec/support/aws_stubs.rb' + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + EnforcedStyle: brackets + +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. +# AllowedMethods: define_method +Style/SymbolProc: + Exclude: + - 'lib/stack_master/command.rb' + - 'spec/support/validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma +Style/TrailingCommaInArguments: + Exclude: + - 'lib/stack_master/template_compilers/sparkle_formation.rb' + - 'spec/stack_master/validator_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma +Style/TrailingCommaInArrayLiteral: + Exclude: + - 'lib/stack_master/security_group_finder.rb' + - 'spec/integration/drift_spec.rb' + - 'spec/stack_master/cloudformation_interpolating_eruby_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'spec/stack_master/sns_topic_finder_spec.rb' + - 'spec/stack_master/stack_definition_spec.rb' + - 'spec/stack_master/stack_events/fetcher_spec.rb' + - 'spec/stack_master/stack_events/streamer_spec.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'lib/stack_master/commands/status.rb' + - 'lib/stack_master/config.rb' + - 'lib/stack_master/parameter_resolvers/latest_container.rb' + - 'lib/stack_master/security_group_finder.rb' + - 'lib/stack_master/sso_group_id_finder.rb' + - 'spec/integration/drift_spec.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/security_group_finder_spec.rb' + - 'stack_master.gemspec' + +# This cop supports safe autocorrection (--autocorrect). +Style/UnlessElse: + Exclude: + - 'lib/stack_master/cli.rb' + +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinSize, WordRegex. +# SupportedStyles: percent, brackets +Style/WordArray: + Exclude: + - 'lib/stack_master/change_set.rb' + - 'lib/stack_master/commands/apply.rb' + - 'lib/stack_master/commands/drift.rb' + - 'spec/stack_master/commands/apply_spec.rb' + - 'spec/stack_master/config_spec.rb' + - 'spec/stack_master/parameter_resolvers/latest_container_spec.rb' + - 'spec/stack_master/sparkle_formation/compile_time/value_build_spec.rb' + - 'spec/stack_master/test_driver/cloud_formation_spec.rb' + +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/ZeroLengthPredicate: + Exclude: + - 'lib/stack_master/cli.rb' diff --git a/Rakefile b/Rakefile index a4743611..4fd0553e 100644 --- a/Rakefile +++ b/Rakefile @@ -21,7 +21,10 @@ begin RSpec::Core::RakeTask.new(:spec) do |t| t.rspec_opts = "--format doc" end + + require 'rubocop/rake_task' + RuboCop::RakeTask.new('rubocop') rescue LoadError end -task :default => [:features, :spec] +task :default => [:features, :spec, :rubocop] diff --git a/stack_master.gemspec b/stack_master.gemspec index 00f60a28..4e9f5265 100644 --- a/stack_master.gemspec +++ b/stack_master.gemspec @@ -34,6 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "aruba" spec.add_development_dependency "timecop" spec.add_development_dependency "ostruct" + spec.add_development_dependency "rubocop" spec.add_dependency "os" spec.add_dependency "ruby-progressbar" spec.add_dependency "commander", ">= 4.6.0", "< 6"