Sha256: 93d2c5937c62a11e3b11c759ff9839208c46e86676caad5c974448a5a0bd1fcd

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

require 'isolate'
require 'isolate/scenarios/extensions'
require 'isolate/scenarios/cli'

Isolate::Entry.class_eval do
  include Isolate::Scenarios::Entry
end

Isolate::Sandbox.class_eval do
  include Isolate::Scenarios::Sandbox
end

Isolate::Events.watch(Isolate::Sandbox, :activating) do |sandbox|
  sandbox.entries.each do |entry|
    if entry.scenarios
      selected_scenario_version = if ENV[entry.scenario_env_variable]
                                    entry.scenarios.detect do |scenario|
                                      ENV[entry.scenario_env_variable] == "#{entry.name}-#{scenario}"
                                    end
                                  elsif entry.default_scenario
                                    entry.default_scenario
                                  else
                                    entry.scenarios.last
                                  end

      if selected_scenario_version
        puts "Activating#{' default' if entry.default_scenario == selected_scenario_version} scenario: #{entry.name}-#{selected_scenario_version}"
        entry.update(selected_scenario_version)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
isolate-scenarios-0.1.1 lib/isolate/scenarios.rb