Sha256: 87fe2c635620faee3fa9b5d46f3b9f0ae11beac45f863f559bdcf48f833edffa

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

require 'rails/version'

version = Rails::VERSION::STRING

if version < '3' && !Gem.respond_to?(:source_index)
  # Add Gem.source_index for rails < 3
  module Gem
    def self.source_index
      sources
    end
    SourceIndex = Specification
  end
end

# Construct possible paths for config/environment.rb in dummy-X.X.X,
# dummy-X.X, dummy-X
version_parts = version.split('.')
environment_paths = version_parts.length.downto(1).map do |count|
  version_part = version_parts.take(count).join('.')
  File.expand_path("../dummy-#{version_part}/config/environment.rb", __FILE__)
end

# Require environment if any dummy app exists, otherwise abort with instructions
if (environment_path = environment_paths.find(&File.method(:exist?)))
  require environment_path
else
  app_path = "spec/dummy-#{version_parts.take(2).join('.')}"

  rails_command = if version < '3'
    "rails #{app_path}"
  else
    "rails new #{app_path} -TSJ --skip-bundle"
  end

  command = "RAILS_VERSION=#{version} bundle exec #{rails_command}"

  abort [
    "No dummy app for rails #{version}",
    "Create using `#{command}`",
    'Tried:', *environment_paths
  ].join("\n")
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dump-1.1.0 spec/dummy_rails_app.rb
dump-1.0.8 spec/dummy_rails_app.rb
dump-1.0.7 spec/dummy_rails_app.rb
dump-1.0.6 spec/dummy_rails_app.rb
dump-1.0.5 spec/dummy_rails_app.rb