Module: Mongoid::Config::Environment

Extended by:
Environment
Included in:
Environment
Defined in:
lib/mongoid/config/environment.rb

Overview

Encapsulates logic for getting environment information.

Instance Method Summary collapse

Instance Method Details

#env_nameString

Get the name of the environment that we are running under. This first looks for Rails, then Sinatra, then a RACK_ENV environment variable, and if none of those are found raises an error.

Examples:

Get the env name.

Environment.env_name

Returns:

  • (String)

    The name of the current environment.

Raises:

Since:

  • 2.3.0



21
22
23
24
25
# File 'lib/mongoid/config/environment.rb', line 21

def env_name
  return Rails.env if defined?(Rails) && Rails.respond_to?(:env)
  return Sinatra::Base.environment.to_s if defined?(Sinatra)
  ENV["RACK_ENV"] || ENV["MONGOID_ENV"] || raise(Errors::NoEnvironment.new)
end

#load_yaml(path, environment = nil) ⇒ Hash

Load the yaml from the provided path and return the settings for the current environment.

Examples:

Load the yaml.

Environment.load_yaml("/work/mongoid.yml")

Parameters:

  • path (String)

    The location of the file.

Returns:

  • (Hash)

    The settings.

Since:

  • 2.3.0



38
39
40
41
# File 'lib/mongoid/config/environment.rb', line 38

def load_yaml(path, environment = nil)
  env = environment ? environment.to_s : env_name
  YAML.load(ERB.new(File.new(path).read).result)[env]
end