Sha256: a9c5346840071e8f5ffe43fc8b5c571e47d3775b87441a3227c94ce5874d4870

Contents?: true

Size: 829 Bytes

Versions: 1

Compression:

Stored size: 829 Bytes

Contents

class EnvironmentGenerator < Rails::Generators::NamedBase
  source_root File.expand_path("../templates", __FILE__)
  argument :environment, type: :string, required: false, default: nil, desc: "The environment template to copy"

  def create_environment_file
    assert_valid_environment!
    template("environment.rb", File.join("config/environments", class_path, "#{file_name}.rb"))
  end

  private

  ENVIRONMENTS = %w(development test production)

  ENVIRONMENTS.each do |env|
    define_method("#{env}?") { environment == env }
  end

  def assert_valid_environment!
    unless environment.nil?
      unless ENVIRONMENTS.include?(environment)
        raise ArgumentError,
          "Unknown environment: #{environment.inspect}. Valid environments are: #{ENVIRONMENTS.map(&:inspect).join(', ')}"
      end
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_generator-3.0.0 lib/generators/environment/environment_generator.rb