diff options
| author | Bogdan Gusiev <agresso@gmail.com> | 2012-04-24 13:17:18 +0300 | 
|---|---|---|
| committer | Bogdan Gusiev <agresso@gmail.com> | 2012-04-24 13:17:18 +0300 | 
| commit | 15c5060bb5f0cbb3533d4ec76260de64449d19fb (patch) | |
| tree | ec8ad1be9a219b21fb672918227ec85802f04cd5 /actionpack/lib/action_dispatch | |
| parent | 242f4d1ebadd0cff83c10270aecd56752b9befc5 (diff) | |
| download | rails-15c5060bb5f0cbb3533d4ec76260de64449d19fb.tar.gz rails-15c5060bb5f0cbb3533d4ec76260de64449d19fb.tar.bz2 rails-15c5060bb5f0cbb3533d4ec76260de64449d19fb.zip  | |
RouteSet: simplify routes helpers generation code
Diffstat (limited to 'actionpack/lib/action_dispatch')
| -rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 34 | 
1 files changed, 21 insertions, 13 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 45075050eb..c048338d40 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -135,24 +135,32 @@ module ActionDispatch          end          private -          def url_helper_name(name, kind = :url) -            :"#{name}_#{kind}" +          def url_helper_name(name, only_path) +            if only_path +              :"#{name}_path" +            else +              :"#{name}_url" +            end            end -          def hash_access_name(name, kind = :url) -            :"hash_for_#{name}_#{kind}" +          def hash_access_name(name, only_path) +            if only_path  +              :"hash_for_#{name}_path" +            else +              :"hash_for_#{name}_url" +            end            end            def define_named_route_methods(name, route) -            {:url => {:only_path => false}, :path => {:only_path => true}}.each do |kind, opts| -              hash = route.defaults.merge(:use_route => name).merge(opts) -              define_hash_access route, name, kind, hash -              define_url_helper route, name, kind, hash +            [true, false].each do |only_path| +              hash = route.defaults.merge(:use_route => name, :only_path => only_path) +              define_hash_access route, name, hash +              define_url_helper route, name, hash              end            end -          def define_hash_access(route, name, kind, options) -            selector = hash_access_name(name, kind) +          def define_hash_access(route, name, options) +            selector = hash_access_name(name, options[:only_path])              @module.module_eval do                remove_possible_method selector @@ -187,9 +195,9 @@ module ActionDispatch            #            #   foo_url(bar, baz, bang, :sort_by => 'baz')            # -          def define_url_helper(route, name, kind, options) -            selector = url_helper_name(name, kind) -            hash_access_method = hash_access_name(name, kind) +          def define_url_helper(route, name, options) +            selector = url_helper_name(name, options[:only_path]) +            hash_access_method = hash_access_name(name, options[:only_path])              if optimize_helper?(route)                @module.module_eval <<-END_EVAL, __FILE__, __LINE__ + 1  | 
