Skip to content
This repository
tag: v3.0.13.rc1
Fetching contributors…

Cannot retrieve contributors at this time

file 156 lines (129 sloc) 4.873 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
require 'active_support/deprecation'
require 'active_support/ordered_options'
require 'rails/paths'
require 'rails/rack'

module Rails
  module Configuration
    class MiddlewareStackProxy #:nodoc:
      def initialize
        @operations = []
      end

      def insert_before(*args, &block)
        @operations << [:insert_before, args, block]
      end

      alias :insert :insert_before

      def insert_after(*args, &block)
        @operations << [:insert_after, args, block]
      end

      def swap(*args, &block)
        @operations << [:swap, args, block]
      end

      def use(*args, &block)
        @operations << [:use, args, block]
      end

      def delete(*args, &block)
        @operations << [:delete, args, block]
      end

      def merge_into(other)
        @operations.each do |operation, args, block|
          other.send(operation, *args, &block)
        end
        other
      end
    end

    class Generators #:nodoc:
      attr_accessor :aliases, :options, :templates, :fallbacks, :colorize_logging

      def initialize
        @aliases = Hash.new { |h,k| h[k] = {} }
        @options = Hash.new { |h,k| h[k] = {} }
        @fallbacks = {}
        @templates = []
        @colorize_logging = true
      end

      def method_missing(method, *args)
        method = method.to_s.sub(/=$/, '').to_sym

        return @options[method] if args.empty?

        if method == :rails || args.first.is_a?(Hash)
          namespace, configuration = method, args.shift
        else
          namespace, configuration = args.shift, args.shift
          namespace = namespace.to_sym if namespace.respond_to?(:to_sym)
          @options[:rails][method] = namespace
        end

        if configuration
          aliases = configuration.delete(:aliases)
          @aliases[namespace].merge!(aliases) if aliases
          @options[namespace].merge!(configuration)
        end
      end
    end

    module Deprecated
      def frameworks(*args)
        raise "config.frameworks in no longer supported. See the generated " \
              "config/boot.rb for steps on how to limit the frameworks that " \
              "will be loaded"
      end
      alias :frameworks= :frameworks

      def view_path=(value)
        ActiveSupport::Deprecation.warn "config.view_path= is deprecated, " <<
          "please do paths.app.views= instead", caller
        paths.app.views = value
      end

      def view_path
        ActiveSupport::Deprecation.warn "config.view_path is deprecated, " <<
          "please do paths.app.views instead", caller
        paths.app.views.to_a.first
      end

      def routes_configuration_file=(value)
        ActiveSupport::Deprecation.warn "config.routes_configuration_file= is deprecated, " <<
          "please do paths.config.routes= instead", caller
        paths.config.routes = value
      end

      def routes_configuration_file
        ActiveSupport::Deprecation.warn "config.routes_configuration_file is deprecated, " <<
          "please do paths.config.routes instead", caller
        paths.config.routes.to_a.first
      end

      def database_configuration_file=(value)
        ActiveSupport::Deprecation.warn "config.database_configuration_file= is deprecated, " <<
          "please do paths.config.database= instead", caller
        paths.config.database = value
      end

      def database_configuration_file
        ActiveSupport::Deprecation.warn "config.database_configuration_file is deprecated, " <<
          "please do paths.config.database instead", caller
        paths.config.database.to_a.first
      end

      def log_path=(value)
        ActiveSupport::Deprecation.warn "config.log_path= is deprecated, " <<
          "please do paths.log= instead", caller
        paths.config.log = value
      end

      def log_path
        ActiveSupport::Deprecation.warn "config.log_path is deprecated, " <<
          "please do paths.log instead", caller
        paths.config.log.to_a.first
      end

      def controller_paths=(value)
        ActiveSupport::Deprecation.warn "config.controller_paths= is deprecated, " <<
          "please do paths.app.controllers= instead", caller
        paths.app.controllers = value
      end

      def controller_paths
        ActiveSupport::Deprecation.warn "config.controller_paths is deprecated, " <<
          "please do paths.app.controllers instead", caller
        paths.app.controllers.to_a.uniq
      end

      def cookie_secret=(value)
        ActiveSupport::Deprecation.warn "config.cookie_secret= is deprecated, " <<
          "please use config.secret_token= instead", caller
        self.secret_token = value
      end

      def cookie_secret
        ActiveSupport::Deprecation.warn "config.cookie_secret is deprecated, " <<
          "please use config.secret_token instead", caller
        self.secret_token
      end
    end
  end
end
Something went wrong with that request. Please try again.