Sha256: fbc89bd292a4d54fccb8ea71d6509fd80ac993b44f71b9900e9fb9b65b20d09b

Contents?: true

Size: 1.09 KB

Versions: 31

Compression:

Stored size: 1.09 KB

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 if config_path.exist? && !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?
        begin
          YAML.load_file(config_path.to_s, aliases: true)
        rescue ArgumentError
          YAML.load_file(config_path.to_s)
        end
      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

31 entries across 31 versions & 3 rubygems

Version Path
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/webpacker-5.4.4/lib/webpacker/env.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/webpacker-5.4.4/lib/webpacker/env.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/webpacker-5.4.4/lib/webpacker/env.rb
webpacker-5.4.4 lib/webpacker/env.rb
shakapacker-6.5.0 lib/webpacker/env.rb
shakapacker-6.4.1 lib/webpacker/env.rb
shakapacker-6.4.0 lib/webpacker/env.rb
shakapacker-6.3.0 lib/webpacker/env.rb
shakapacker-6.3.0.pre.rc.1 lib/webpacker/env.rb
shakapacker-6.2.1 lib/webpacker/env.rb
shakapacker-6.2.0 lib/webpacker/env.rb
shakapacker-6.1.1 lib/webpacker/env.rb
shakapacker-6.1.0 lib/webpacker/env.rb
shakapacker-6.1.0.beta.0 lib/webpacker/env.rb
shakapacker-6.0.2 lib/webpacker/env.rb
shakapacker-6.0.1 lib/webpacker/env.rb
shakapacker-6.0.0 lib/webpacker/env.rb
shakapacker-6.0.0.rc.14 lib/webpacker/env.rb
shakapacker-6.0.0.rc.13 lib/webpacker/env.rb
shakapacker-6.0.0.rc.12 lib/webpacker/env.rb