Class: Rage::Router::Util
- Inherits:
 - 
      Object
      
        
- Object
 - Rage::Router::Util
 
 
- Defined in:
 - lib/rage/router/util.rb
 
Constant Summary collapse
- @@names_map =
 {}
Class Method Summary collapse
- 
  
    
      .path_to_class(str)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
converts controller name in a path form into a class
api/v1/users=>Api::V1::UsersController. - 
  
    
      .path_to_name(str)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
converts controller name in a path form into a string representation of a class
api/v1/users=>"Api::V1::UsersController". 
Class Method Details
.path_to_class(str) ⇒ Object
converts controller name in a path form into a class api/v1/users => Api::V1::UsersController
      7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23  | 
    
      # File 'lib/rage/router/util.rb', line 7 def path_to_class(str) str = str.capitalize str.gsub!(/([\/_])([a-zA-Z0-9]+)/) do if $1 == "/" "::#{$2.capitalize}" else $2.capitalize end end klass = "#{str}Controller" if Object.const_defined?(klass) Object.const_get(klass) else raise Rage::Errors::RouterError, "Routing error: could not find the #{klass} class" end end  | 
  
.path_to_name(str) ⇒ Object
converts controller name in a path form into a string representation of a class api/v1/users => "Api::V1::UsersController"
      29 30 31 32 33  | 
    
      # File 'lib/rage/router/util.rb', line 29 def path_to_name(str) @@names_map[str] || begin @@names_map[str] = path_to_class(str).name end end  |