Sha256: 6820faf21499fc80706fb9bcac898278c08891933275d5f24d86c3fcfebbbd00

Contents?: true

Size: 1.12 KB

Versions: 14

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

module RSpec
  module Terraform
    module Helpers
      module Actions
        module ExecuteIfRequired
          def execute_if_required(name, parameters, &block)
            log_execute_if_required_starting(name)

            if should_execute(parameters)
              log_execute_if_required_continuing
              block.call
            else
              log_execute_if_required_skipping
            end
          end

          private

          def should_execute(parameters)
            only_if = parameters[:only_if]
            only_if_args = only_if ? [parameters].slice(0, only_if.arity) : []
            only_if ? only_if.call(*only_if_args) : true
          end

          def log_execute_if_required_starting(name)
            logger&.info("Checking if execution of #{name} required...")
          end

          def log_execute_if_required_continuing
            logger&.info('Execution required. Continuing...')
          end

          def log_execute_if_required_skipping
            logger&.info('Execution not required. Skipping...')
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rspec-terraform-0.5.0.pre.9 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.8 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.7 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.6 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.5 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.4 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.3 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.2 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.5.0.pre.1 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.4.0 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.3.0.pre.1 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.2.0 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.1.0.pre.49 lib/rspec/terraform/helpers/actions/execute_if_required.rb
rspec-terraform-0.1.0.pre.48 lib/rspec/terraform/helpers/actions/execute_if_required.rb