Sha256: 645ac03f4a268ace6e35563ab43981bb93e232250f19951ae2cce4b99758b655

Contents?: true

Size: 1004 Bytes

Versions: 23

Compression:

Stored size: 1004 Bytes

Contents

require 'thor'
require 'hashie'
require 'roo_on_rails/checks/environment'
require 'roo_on_rails/environment'
require 'roo_on_rails/checks/environment_independent'

module RooOnRails
  class Harness
    include Thor::Shell

    def initialize(try_fix: false, environments: nil, context: Hashie::Mash.new, dry_run: false)
      @try_fix = try_fix
      @context = context
      @dry_run = dry_run
      @environments = environments
    end

    def run
      checks = [
        Checks::EnvironmentIndependent.new(fix: @try_fix, context: @context, dry_run: @dry_run),
      ]
      environments.each do |env|
        checks << Checks::Environment.new(env: env.strip, fix: @try_fix, context: @context, dry_run: @dry_run)
      end

      return if checks.map(&:run).all?
      say 'At least one check failed.', %i[bold red]
    end

    private

    def environments
      as_string = @environments || ENV.fetch('ROO_ON_RAILS_ENVIRONMENTS', 'staging,production')
      as_string.split(',')
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
roo_on_rails-2.2.2 lib/roo_on_rails/harness.rb
roo_on_rails-2.2.1 lib/roo_on_rails/harness.rb
roo_on_rails-2.2.0 lib/roo_on_rails/harness.rb
roo_on_rails-2.1.2 lib/roo_on_rails/harness.rb
roo_on_rails-2.1.0 lib/roo_on_rails/harness.rb
roo_on_rails-2.0.0.pre.pre.2 lib/roo_on_rails/harness.rb
roo_on_rails-2.0.0.pre.pre.1 lib/roo_on_rails/harness.rb
roo_on_rails-1.22.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.21.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.20.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.19.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.18.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.17.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.16.2 lib/roo_on_rails/harness.rb
roo_on_rails-1.16.1 lib/roo_on_rails/harness.rb
roo_on_rails-1.16.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.15.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.14.0 lib/roo_on_rails/harness.rb
roo_on_rails-1.13.1 lib/roo_on_rails/harness.rb
roo_on_rails-1.13.0 lib/roo_on_rails/harness.rb