Class: ActionController::Routing::ControllerSegment
- Inherits:
-
DynamicSegment
- Object
- Segment
- DynamicSegment
- ActionController::Routing::ControllerSegment
- Defined in:
- lib/action_controller/routing/segments.rb
Overview
:nodoc:
Constant Summary
Constants inherited from Segment
Segment::RESERVED_PCHAR, Segment::SAFE_PCHAR, Segment::UNSAFE_PCHAR
Instance Attribute Summary
Attributes inherited from DynamicSegment
Attributes inherited from Segment
Instance Method Summary collapse
-
#extract_value ⇒ Object
Make sure controller names like Admin/Content are correctly normalized to admin/content.
-
#interpolation_chunk(value_code = local_name) ⇒ Object
Don’t URI.escape the controller name since it may contain slashes.
- #match_extraction(next_capture) ⇒ Object
- #regexp_chunk ⇒ Object
Methods inherited from DynamicSegment
#build_pattern, #default_regexp_chunk, #expiry_statement, #extraction_code, #initialize, #local_name, #number_of_captures, #optionality_implied?, #regexp_has_modifiers?, #regexp_string, #string_structure, #to_s, #value_check, #value_regexp
Methods inherited from Segment
#all_optionals_available_condition, #continue_string_structure, #extraction_code, #initialize, #interpolation_statement, #number_of_captures, #optionality_implied?, #string_structure
Constructor Details
This class inherits a constructor from ActionController::Routing::DynamicSegment
Instance Method Details
#extract_value ⇒ Object
Make sure controller names like Admin/Content are correctly normalized to admin/content
254 255 256 |
# File 'lib/action_controller/routing/segments.rb', line 254 def extract_value "#{local_name} = (hash[:#{key}] #{"|| #{default.inspect}" if default}).downcase" end |
#interpolation_chunk(value_code = local_name) ⇒ Object
Don’t URI.escape the controller name since it may contain slashes.
248 249 250 |
# File 'lib/action_controller/routing/segments.rb', line 248 def interpolation_chunk(value_code = local_name) "\#{#{value_code}.to_s}" end |
#match_extraction(next_capture) ⇒ Object
258 259 260 261 262 263 264 |
# File 'lib/action_controller/routing/segments.rb', line 258 def match_extraction(next_capture) if default "params[:#{key}] = match[#{next_capture}] ? match[#{next_capture}].downcase : '#{default}'" else "params[:#{key}] = match[#{next_capture}].downcase if match[#{next_capture}]" end end |
#regexp_chunk ⇒ Object
242 243 244 245 |
# File 'lib/action_controller/routing/segments.rb', line 242 def regexp_chunk possible_names = Routing.possible_controllers.collect { |name| Regexp.escape name } "(?i-:(#{(regexp || Regexp.union(*possible_names)).source}))" end |