Sha256: e88c509bfcd71a38a70ac30d772dc855edfe87adc9d1eef4471678cb02806301

Contents?: true

Size: 983 Bytes

Versions: 9

Compression:

Stored size: 983 Bytes

Contents

class Webpacker::Env
  DEFAULT = "production".freeze

  delegate :config_path, :logger, to: :@webpacker

  def self.inquire(webpacker)
    new(webpacker).inquire
  end

  def initialize(webpacker)
    @webpacker = webpacker
  end

  def inquire
    fallback_env_warning unless current
    (current || DEFAULT).inquiry
  end

  private
    def current
      Rails.env.presence_in(available_environments)
    end

    def fallback_env_warning
      logger.info "RAILS_ENV=#{Rails.env} environment is not defined in config/webpacker.yml, falling back to #{DEFAULT} environment"
    end

    def available_environments
      if config_path.exist?
        YAML.load(config_path.read).keys
      else
        [].freeze
      end
    rescue Psych::SyntaxError => e
      raise "YAML syntax error occurred while parsing #{config_path}. " \
            "Please note that YAML must be consistently indented using spaces. Tabs are not allowed. " \
            "Error: #{e.message}"
    end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
webpacker-3.5.3 lib/webpacker/env.rb
webpacker-3.5.2 lib/webpacker/env.rb
webpacker-3.5.1 lib/webpacker/env.rb
webpacker-3.5.0 lib/webpacker/env.rb
webpacker-3.4.3 lib/webpacker/env.rb
webpacker-4.0.0.pre.pre.2 lib/webpacker/env.rb
webpacker-4.0.0.pre.pre.1 lib/webpacker/env.rb
webpacker-3.4.1 lib/webpacker/env.rb
webpacker-3.4.0 lib/webpacker/env.rb