Module: Rails

Extended by:
ActiveSupport::Autoload
Defined in:
actionmailer/lib/rails/generators/mailer/mailer_generator.rb,
railties/lib/rails.rb,
railties/lib/rails/info.rb,
railties/lib/rails/rack.rb,
railties/lib/rails/paths.rb,
railties/lib/rails/engine.rb,
railties/lib/rails/railtie.rb,
railties/lib/rails/version.rb,
railties/lib/rails/api/task.rb,
railties/lib/rails/generators.rb,
railties/lib/rails/rack/logger.rb,
railties/lib/rails/gem_version.rb,
railties/lib/rails/console/app.rb,
railties/lib/rails/application.rb,
railties/lib/rails/deprecation.rb,
railties/lib/rails/rack/debugger.rb,
railties/lib/rails/initializable.rb,
railties/lib/rails/configuration.rb,
railties/lib/rails/rack/log_tailer.rb,
railties/lib/rails/console/helpers.rb,
railties/lib/rails/commands/server.rb,
railties/lib/rails/engine/railties.rb,
railties/lib/rails/generators/base.rb,
railties/lib/rails/commands/console.rb,
railties/lib/rails/app_rails_loader.rb,
railties/lib/rails/backtrace_cleaner.rb,
railties/lib/rails/test_unit/railtie.rb,
railties/lib/rails/commands/dbconsole.rb,
railties/lib/rails/generators/actions.rb,
railties/lib/rails/generators/app_base.rb,
railties/lib/rails/application/finisher.rb,
railties/lib/rails/railtie/configurable.rb,
railties/lib/rails/commands/application.rb,
railties/lib/rails/engine/configuration.rb,
railties/lib/rails/generators/test_case.rb,
railties/lib/rails/generators/migration.rb,
railties/lib/rails/application/bootstrap.rb,
railties/lib/rails/railtie/configuration.rb,
railties/lib/rails/generators/named_base.rb,
railties/lib/rails/test_unit/sub_test_task.rb,
railties/lib/rails/commands/commands_tasks.rb,
railties/lib/rails/generators/active_model.rb,
railties/lib/rails/application/configuration.rb,
railties/lib/rails/application/routes_reloader.rb,
railties/lib/rails/generators/resource_helpers.rb,
railties/lib/rails/generators/testing/behaviour.rb,
railties/lib/rails/generators/testing/assertions.rb,
railties/lib/rails/generators/generated_attribute.rb,
railties/lib/rails/generators/rails/app/app_generator.rb,
railties/lib/rails/generators/actions/create_migration.rb,
railties/lib/rails/application/default_middleware_stack.rb,
railties/lib/rails/generators/rails/task/task_generator.rb,
railties/lib/rails/generators/testing/setup_and_teardown.rb,
railties/lib/rails/generators/rails/model/model_generator.rb,
railties/lib/rails/generators/rails/plugin/plugin_generator.rb,
railties/lib/rails/generators/rails/assets/assets_generator.rb,
railties/lib/rails/generators/rails/helper/helper_generator.rb,
railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb,
railties/lib/rails/generators/rails/resource/resource_generator.rb,
railties/lib/rails/generators/rails/generator/generator_generator.rb,
railties/lib/rails/generators/rails/migration/migration_generator.rb,
railties/lib/rails/generators/rails/controller/controller_generator.rb,
railties/lib/rails/generators/rails/resource_route/resource_route_generator.rb,
railties/lib/rails/generators/rails/integration_test/integration_test_generator.rb,
railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb

Defined Under Namespace

Modules: API, ActionMethods, AppRailsLoader, Configuration, ConsoleMethods, Generators, Info, Initializable, Paths, Rack, VERSION Classes: AppBuilder, Application, ApplicationController, BacktraceCleaner, CommandsTasks, Console, DBConsole, DeprecatedConstant, Engine, InfoController, MailersController, PluginBuilder, Railtie, Server, SubTestTask, TestTask, TestUnitRailtie, WelcomeController

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from ActiveSupport::Autoload

autoload, autoload_at, autoload_under, autoloads, eager_autoload, eager_load!, extended

Class Attribute Details

.applicationObject

Returns the value of attribute application



32
33
34
# File 'railties/lib/rails.rb', line 32

def application
  @application
end

.cacheObject

Returns the value of attribute cache



32
33
34
# File 'railties/lib/rails.rb', line 32

def cache
  @cache
end

.loggerObject

Returns the value of attribute logger



32
33
34
# File 'railties/lib/rails.rb', line 32

def logger
  @logger
end

Class Method Details

.backtrace_cleanerObject



41
42
43
44
45
46
47
# File 'railties/lib/rails.rb', line 41

def backtrace_cleaner
  @backtrace_cleaner ||= begin
    # Relies on Active Support, so we have to lazy load to postpone definition until AS has been loaded
    require 'rails/backtrace_cleaner'
    Rails::BacktraceCleaner.new
  end
end

.configurationObject

The Configuration instance used to configure the Rails environment



37
38
39
# File 'railties/lib/rails.rb', line 37

def configuration
  application.config
end

.envObject



53
54
55
# File 'railties/lib/rails.rb', line 53

def env
  @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
end

.env=(environment) ⇒ Object



57
58
59
# File 'railties/lib/rails.rb', line 57

def env=(environment)
  @_env = ActiveSupport::StringInquirer.new(environment)
end

.gem_versionObject

Returns the version of the currently loaded Rails as a Gem::Version



3
4
5
# File 'railties/lib/rails/gem_version.rb', line 3

def self.gem_version
  Gem::Version.new VERSION::STRING
end

.groups(*groups) ⇒ Object

Returns all rails groups for loading based on:

  • The Rails environment;

  • The environment variable RAILS_GROUPS;

  • The optional envs given as argument and the hash with group dependencies;

    groups assets: [:development, :test]

    # Returns # => [:default, :development, :assets] for Rails.env == “development” # => [:default, :production] for Rails.env == “production”



72
73
74
75
76
77
78
79
80
81
# File 'railties/lib/rails.rb', line 72

def groups(*groups)
  hash = groups.extract_options!
  env = Rails.env
  groups.unshift(:default, env)
  groups.concat ENV["RAILS_GROUPS"].to_s.split(",")
  groups.concat hash.map { |k, v| k if v.map(&:to_s).include?(env) }
  groups.compact!
  groups.uniq!
  groups
end

.public_pathObject



83
84
85
# File 'railties/lib/rails.rb', line 83

def public_path
  application && Pathname.new(application.paths["public"].first)
end

.rootObject



49
50
51
# File 'railties/lib/rails.rb', line 49

def root
  application && application.config.root
end

.versionObject

Returns the version of the currently loaded Rails as a string.



5
6
7
# File 'railties/lib/rails/version.rb', line 5

def self.version
  VERSION::STRING
end