123456789_123456789_123456789_123456789_123456789_

Module: Rails

Relationships & Source Files
Namespace Children
Modules:
Classes:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: actioncable/lib/rails/generators/channel/channel_generator.rb,
actionmailbox/lib/rails/generators/mailbox/mailbox_generator.rb,
actionmailer/lib/rails/generators/mailer/mailer_generator.rb,
activejob/lib/rails/generators/job/job_generator.rb,
railties/lib/rails.rb,
railties/lib/rails/app_loader.rb,
railties/lib/rails/application.rb,
railties/lib/rails/autoloaders.rb,
railties/lib/rails/backtrace_cleaner.rb,
railties/lib/rails/code_statistics.rb,
railties/lib/rails/code_statistics_calculator.rb,
railties/lib/rails/command.rb,
railties/lib/rails/configuration.rb,
railties/lib/rails/deprecator.rb,
railties/lib/rails/dev_caching.rb,
railties/lib/rails/engine.rb,
railties/lib/rails/gem_version.rb,
railties/lib/rails/generators.rb,
railties/lib/rails/health_controller.rb,
railties/lib/rails/info.rb,
railties/lib/rails/initializable.rb,
railties/lib/rails/paths.rb,
railties/lib/rails/rack.rb,
railties/lib/rails/railtie.rb,
railties/lib/rails/source_annotation_extractor.rb,
railties/lib/rails/version.rb,
railties/lib/rails/api/task.rb,
railties/lib/rails/application/bootstrap.rb,
railties/lib/rails/application/configuration.rb,
railties/lib/rails/application/default_middleware_stack.rb,
railties/lib/rails/application/finisher.rb,
railties/lib/rails/application/routes_reloader.rb,
railties/lib/rails/autoloaders/inflector.rb,
railties/lib/rails/command/actions.rb,
railties/lib/rails/command/base.rb,
railties/lib/rails/command/behavior.rb,
railties/lib/rails/command/environment_argument.rb,
railties/lib/rails/command/helpers/editor.rb,
railties/lib/rails/commands/about/about_command.rb,
railties/lib/rails/commands/app/update_command.rb,
railties/lib/rails/commands/application/application_command.rb,
railties/lib/rails/commands/boot/boot_command.rb,
railties/lib/rails/commands/console/console_command.rb,
railties/lib/rails/commands/console/irb_console.rb,
railties/lib/rails/commands/credentials/credentials_command.rb,
railties/lib/rails/commands/db/system/change/change_command.rb,
railties/lib/rails/commands/dbconsole/dbconsole_command.rb,
railties/lib/rails/commands/destroy/destroy_command.rb,
railties/lib/rails/commands/dev/dev_command.rb,
railties/lib/rails/commands/devcontainer/devcontainer_command.rb,
railties/lib/rails/commands/encrypted/encrypted_command.rb,
railties/lib/rails/commands/gem_help/gem_help_command.rb,
railties/lib/rails/commands/generate/generate_command.rb,
railties/lib/rails/commands/help/help_command.rb,
railties/lib/rails/commands/initializers/initializers_command.rb,
railties/lib/rails/commands/middleware/middleware_command.rb,
railties/lib/rails/commands/new/new_command.rb,
railties/lib/rails/commands/notes/notes_command.rb,
railties/lib/rails/commands/plugin/plugin_command.rb,
railties/lib/rails/commands/rake/rake_command.rb,
railties/lib/rails/commands/restart/restart_command.rb,
railties/lib/rails/commands/routes/routes_command.rb,
railties/lib/rails/commands/runner/runner_command.rb,
railties/lib/rails/commands/secret/secret_command.rb,
railties/lib/rails/commands/server/server_command.rb,
railties/lib/rails/commands/stats/stats_command.rb,
railties/lib/rails/commands/test/test_command.rb,
railties/lib/rails/commands/unused_routes/unused_routes_command.rb,
railties/lib/rails/commands/version/version_command.rb,
railties/lib/rails/engine/configuration.rb,
railties/lib/rails/engine/lazy_route_set.rb,
railties/lib/rails/engine/railties.rb,
railties/lib/rails/engine/updater.rb,
railties/lib/rails/generators/actions.rb,
railties/lib/rails/generators/active_model.rb,
railties/lib/rails/generators/app_base.rb,
railties/lib/rails/generators/app_name.rb,
railties/lib/rails/generators/base.rb,
railties/lib/rails/generators/database.rb,
railties/lib/rails/generators/generated_attribute.rb,
railties/lib/rails/generators/migration.rb,
railties/lib/rails/generators/model_helpers.rb,
railties/lib/rails/generators/named_base.rb,
railties/lib/rails/generators/resource_helpers.rb,
railties/lib/rails/generators/test_case.rb,
railties/lib/rails/generators/actions/create_migration.rb,
railties/lib/rails/generators/rails/app/app_generator.rb,
railties/lib/rails/generators/rails/application_record/application_record_generator.rb,
railties/lib/rails/generators/rails/authentication/authentication_generator.rb,
railties/lib/rails/generators/rails/benchmark/benchmark_generator.rb,
railties/lib/rails/generators/rails/controller/controller_generator.rb,
railties/lib/rails/generators/rails/credentials/credentials_generator.rb,
railties/lib/rails/generators/rails/db/system/change/change_generator.rb,
railties/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb,
railties/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb,
railties/lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb,
railties/lib/rails/generators/rails/generator/generator_generator.rb,
railties/lib/rails/generators/rails/helper/helper_generator.rb,
railties/lib/rails/generators/rails/integration_test/integration_test_generator.rb,
railties/lib/rails/generators/rails/master_key/master_key_generator.rb,
railties/lib/rails/generators/rails/migration/migration_generator.rb,
railties/lib/rails/generators/rails/model/model_generator.rb,
railties/lib/rails/generators/rails/plugin/plugin_generator.rb,
railties/lib/rails/generators/rails/resource/resource_generator.rb,
railties/lib/rails/generators/rails/resource_route/resource_route_generator.rb,
railties/lib/rails/generators/rails/scaffold/scaffold_generator.rb,
railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb,
railties/lib/rails/generators/rails/script/script_generator.rb,
railties/lib/rails/generators/rails/system_test/system_test_generator.rb,
railties/lib/rails/generators/rails/task/task_generator.rb,
railties/lib/rails/generators/testing/assertions.rb,
railties/lib/rails/generators/testing/behavior.rb,
railties/lib/rails/generators/testing/setup_and_teardown.rb,
railties/lib/rails/rack/logger.rb,
railties/lib/rails/rack/silence_request.rb,
railties/lib/rails/rackup/server.rb,
railties/lib/rails/railtie/configurable.rb,
railties/lib/rails/railtie/configuration.rb,
railties/lib/rails/test_unit/line_filtering.rb,
railties/lib/rails/test_unit/railtie.rb,
railties/lib/rails/test_unit/reporter.rb,
railties/lib/rails/test_unit/runner.rb,
railties/lib/rails/test_unit/test_parser.rb,
railties/lib/rails/test_unit/test_parser.rb

Overview

Class Attribute Summary

Class Method Summary

::ActiveSupport::Benchmarkable - Extended

benchmark

Allows you to measure the execution time of a block in a template and records the result to the log.

::ActiveSupport::Autoload - Extended

Instance Method Summary

Class Attribute Details

.app_class (rw)

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 44

attr_accessor :app_class, :cache, :logger

.application (rw)

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 45

def application
  @application ||= (app_class.instance if app_class)
end

.application=(value) (rw)

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 43

attr_writer :application

.cache (rw)

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 44

attr_accessor :app_class, :cache, :logger

.env (rw)

Returns the current Rails environment.

Rails.env # => "development"
Rails.env.development? # => true
Rails.env.production? # => false
Rails.env.local? # => true              true for "development" and "test", false for anything else
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 75

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

.env=(environment) (rw)

Sets the Rails environment.

Rails.env = "staging" # => "staging"
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 82

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

.logger (rw)

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 44

attr_accessor :app_class, :cache, :logger

Class Method Details

.autoloaders

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 126

def autoloaders
  application.autoloaders
end

.backtrace_cleaner

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 56

def backtrace_cleaner
  @backtrace_cleaner ||= Rails::BacktraceCleaner.new
end

.configuration

The Configuration instance used to configure the Rails environment

[ GitHub ]

  
# File 'railties/lib/rails.rb', line 52

def configuration
  application.config
end

.deprecator

This method is for internal use only.
[ GitHub ]

  
# File 'railties/lib/rails/deprecator.rb', line 4

def self.deprecator # :nodoc:
  @deprecator ||= ActiveSupport::Deprecation.new
end

.error

Returns the ::ActiveSupport::ErrorReporter of the current Rails project, otherwise it returns nil if there is no project.

Rails.error.handle(IOError) do
  # ...
end
Rails.error.report(error)
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 93

def error
  ActiveSupport.error_reporter
end

.gem_version

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

[ GitHub ]

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

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

.groups(*groups)

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;

Rails.groups assets: [:development, :test]
# => [:default, "development", :assets] for Rails.env == "development"
# => [:default, "production"]           for Rails.env == "production"
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 106

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_path

Returns a ::Pathname object of the public folder of the current Rails project, otherwise it returns nil if there is no project:

Rails.public_path
  # => #<Pathname:/Users/someuser/some/path/project/public>
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 122

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

.root

Returns a ::Pathname object of the current Rails project, otherwise it returns nil if there is no project:

Rails.root
  # => #<Pathname:/Users/someuser/some/path/project>
[ GitHub ]

  
# File 'railties/lib/rails.rb', line 65

def root
  application && application.config.root
end

.version

Returns the currently loaded version of Rails as a string.

[ GitHub ]

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

def self.version
  VERSION::STRING
end

Instance Method Details

#initialize!

[ GitHub ]

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

delegate :initialize!, :initialized?, to: :application

#initialized?Boolean

[ GitHub ]

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

delegate :initialize!, :initialized?, to: :application