Class: ActionDispatch::Routing::Mapper::Resources::Resource
- Inherits:
 - 
      Object
      
        
- Object
 - ActionDispatch::Routing::Mapper::Resources::Resource
 
 
- Defined in:
 - lib/action_dispatch/routing/mapper.rb
 
Overview
:nodoc:
Direct Known Subclasses
Instance Attribute Summary collapse
- 
  
    
      #controller  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute controller.
 - 
  
    
      #param  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute param.
 - 
  
    
      #path  ⇒ Object 
    
    
      (also: #collection_scope)
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Returns the value of attribute path.
 
Instance Method Summary collapse
- #actions ⇒ Object
 - #available_actions ⇒ Object
 - 
  
    
      #collection_name  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Checks for uncountable plurals, and appends “_index” if the plural and singular form are the same.
 - #default_actions ⇒ Object
 - 
  
    
      #initialize(entities, api_only, shallow, options = {})  ⇒ Resource 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of Resource.
 - #member_scope ⇒ Object (also: #shallow_scope)
 - #name ⇒ Object
 - #nested_param ⇒ Object
 - #nested_scope ⇒ Object
 - #new_scope(new_path) ⇒ Object
 - #plural ⇒ Object
 - #resource_scope ⇒ Object
 - #shallow? ⇒ Boolean
 - #singleton? ⇒ Boolean
 - #singular ⇒ Object (also: #member_name)
 
Constructor Details
#initialize(entities, api_only, shallow, options = {}) ⇒ Resource
Returns a new instance of Resource.
      1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1143 def initialize(entities, api_only, shallow, = {}) if [:param].to_s.include?(":") raise ArgumentError, ":param option can't contain colons" end @name = entities.to_s @path = ([:path] || @name).to_s @controller = ([:controller] || @name).to_s @as = [:as] @param = ([:param] || :id).to_sym @options = @shallow = shallow @api_only = api_only @only = .delete :only @except = .delete :except end  | 
  
Instance Attribute Details
#controller ⇒ Object (readonly)
Returns the value of attribute controller.
      1141 1142 1143  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1141 def controller @controller end  | 
  
#param ⇒ Object (readonly)
Returns the value of attribute param.
      1141 1142 1143  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1141 def param @param end  | 
  
#path ⇒ Object (readonly) Also known as: collection_scope
Returns the value of attribute path.
      1141 1142 1143  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1141 def path @path end  | 
  
Instance Method Details
#actions ⇒ Object
      1168 1169 1170 1171 1172 1173 1174  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1168 def actions if @except available_actions - Array(@except).map(&:to_sym) else available_actions end end  | 
  
#available_actions ⇒ Object
      1176 1177 1178 1179 1180 1181 1182  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1176 def available_actions if @only Array(@only).map(&:to_sym) else default_actions end end  | 
  
#collection_name ⇒ Object
Checks for uncountable plurals, and appends “_index” if the plural and singular form are the same.
      1200 1201 1202  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1200 def collection_name singular == plural ? "#{plural}_index" : plural end  | 
  
#default_actions ⇒ Object
      1160 1161 1162 1163 1164 1165 1166  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1160 def default_actions if @api_only [:index, :create, :show, :update, :destroy] else [:index, :create, :new, :show, :update, :destroy, :edit] end end  | 
  
#member_scope ⇒ Object Also known as: shallow_scope
      1210 1211 1212  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1210 def member_scope "#{path}/:#{param}" end  | 
  
#name ⇒ Object
      1184 1185 1186  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1184 def name @as || @name end  | 
  
#nested_param ⇒ Object
      1220 1221 1222  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1220 def nested_param :"#{singular}_#{param}" end  | 
  
#nested_scope ⇒ Object
      1224 1225 1226  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1224 def nested_scope "#{path}/:#{nested_param}" end  | 
  
#new_scope(new_path) ⇒ Object
      1216 1217 1218  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1216 def new_scope(new_path) "#{path}/#{new_path}" end  | 
  
#plural ⇒ Object
      1188 1189 1190  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1188 def plural @plural ||= name.to_s end  | 
  
#resource_scope ⇒ Object
      1204 1205 1206  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1204 def resource_scope controller end  | 
  
#shallow? ⇒ Boolean
      1228 1229 1230  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1228 def shallow? @shallow end  | 
  
#singleton? ⇒ Boolean
      1232  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1232 def singleton?; false; end  | 
  
#singular ⇒ Object Also known as: member_name
      1192 1193 1194  | 
    
      # File 'lib/action_dispatch/routing/mapper.rb', line 1192 def singular @singular ||= name.to_s.singularize end  |