Sha256: 3c5a963ab820b97a184ed01388b0cba159622702dff5dac2a8fe661d07e513f6
Contents?: true
Size: 1.03 KB
Versions: 108
Compression:
Stored size: 1.03 KB
Contents
require 'active_support/core_ext/array/extract_options' module ActionDispatch module Routing class RoutesProxy #:nodoc: include ActionDispatch::Routing::UrlFor attr_accessor :scope, :routes alias :_routes :routes def initialize(routes, scope) @routes, @scope = routes, scope end def url_options scope.send(:_with_routes, routes) do scope.url_options end end def respond_to?(method, include_private = false) super || routes.url_helpers.respond_to?(method) end def method_missing(method, *args) if routes.url_helpers.respond_to?(method) self.class.class_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{method}(*args) options = args.extract_options! args << url_options.merge((options || {}).symbolize_keys) routes.url_helpers.#{method}(*args) end RUBY send(method, *args) else super end end end end end
Version data entries
108 entries across 104 versions & 8 rubygems