Class: Dotenv::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/dotenv/rails.rb

Overview

Dotenv Railtie for using Dotenv to load environment from a file into Rails applications

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.loadObject

Rails uses #method_missing to delegate all class methods to the instance, which means ‘Kernel#load` gets called here. We don’t want that.



60
61
62
# File 'lib/dotenv/rails.rb', line 60

def self.load
  instance.load
end

Instance Method Details

#loadObject

Public: Load dotenv

This will get called during the before_configuration callback, but you can manually call Dotenv::Railtie.load if you needed it sooner.



40
41
42
# File 'lib/dotenv/rails.rb', line 40

def load
  Dotenv.load(*dotenv_files)
end

#overloadObject

Public: Reload dotenv

Same as load, but will override existing values in ENV



47
48
49
# File 'lib/dotenv/rails.rb', line 47

def overload
  Dotenv.overload(*dotenv_files)
end

#rootObject

Internal: Rails.root is nil in Rails 4.1 before the application is initialized, so this falls back to the RAILS_ROOT environment variable, or the current working directory.



54
55
56
# File 'lib/dotenv/rails.rb', line 54

def root
  Rails.root || Pathname.new(ENV["RAILS_ROOT"] || Dir.pwd)
end