123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- require 'rails/ruby_version_check'
- require 'pathname'
- require 'active_support'
- require 'active_support/core_ext/kernel/reporting'
- require 'active_support/core_ext/array/extract_options'
- require 'active_support/core_ext/logger'
- require 'rails/application'
- require 'rails/version'
- require 'active_support/railtie'
- require 'action_dispatch/railtie'
- # For Ruby 1.8, this initialization sets $KCODE to 'u' to enable the
- # multibyte safe operations. Plugin authors supporting other encodings
- # should override this behavior and set the relevant +default_charset+
- # on ActionController::Base.
- #
- # For Ruby 1.9, UTF-8 is the default internal and external encoding.
- if RUBY_VERSION < '1.9'
- $KCODE='u'
- else
- silence_warnings do
- Encoding.default_external = Encoding::UTF_8
- Encoding.default_internal = Encoding::UTF_8
- end
- end
- module Rails
- autoload :Info, 'rails/info'
- autoload :InfoController, 'rails/info_controller'
- class << self
- def application
- @@application ||= nil
- end
- def application=(application)
- @@application = application
- end
- # The Configuration instance used to configure the Rails environment
- def configuration
- application.config
- end
- def initialize!
- application.initialize!
- end
- def initialized?
- @@initialized || false
- end
- def initialized=(initialized)
- @@initialized ||= initialized
- end
- def logger
- @@logger ||= nil
- end
- def logger=(logger)
- @@logger = logger
- end
- 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
- def root
- application && application.config.root
- end
- def env
- @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
- end
- def env=(environment)
- @_env = ActiveSupport::StringInquirer.new(environment)
- end
- def cache
- RAILS_CACHE
- end
- # 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;
- #
- # == Examples
- #
- # groups :assets => [:development, :test]
- #
- # # Returns
- # # => [:default, :development, :assets] for Rails.env == "development"
- # # => [:default, :production] for Rails.env == "production"
- #
- 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
- def version
- VERSION::STRING
- end
- def public_path
- application && application.paths["public"].first
- end
- end
- end
|