Sha256: 56a82082437b53219e3573b5e0634dcfd6e29b1cf876c38f828601a05b35a37a
Contents?: true
Size: 1.36 KB
Versions: 5
Compression:
Stored size: 1.36 KB
Contents
require "dotenv" Dotenv.instrumenter = ActiveSupport::Notifications # Watch all loaded env files with Spring begin require "spring/watcher" ActiveSupport::Notifications.subscribe(/^dotenv/) do |*args| event = ActiveSupport::Notifications::Event.new(*args) Spring.watch event.payload[:env].filename if Rails.application end rescue LoadError # Spring is not available end module Dotenv # Dotenv Railtie for using Dotenv to load environment from a file into # Rails applications class Railtie < Rails::Railtie config.before_configuration { load } # 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. def load Dotenv.load( root.join(".env.local"), root.join(".env.#{Rails.env}"), root.join(".env") ) end # 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. def root Rails.root || Pathname.new(ENV["RAILS_ROOT"] || Dir.pwd) end # Rails uses `#method_missing` to delegate all class methods to the # instance, which means `Kernel#load` gets called here. We don't want that. def self.load instance.load end end end
Version data entries
5 entries across 5 versions & 2 rubygems