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
-
#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.
1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1127 def initialize(entities, api_only, shallow, = {}) @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.
1125 1126 1127 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1125 def controller @controller end |
#param ⇒ Object (readonly)
Returns the value of attribute param.
1125 1126 1127 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1125 def param @param end |
#path ⇒ Object (readonly) Also known as: collection_scope
Returns the value of attribute path.
1125 1126 1127 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1125 def path @path end |
Instance Method Details
#actions ⇒ Object
1148 1149 1150 1151 1152 1153 1154 1155 1156 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1148 def actions if @only Array(@only).map(&:to_sym) elsif @except default_actions - Array(@except).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.
1174 1175 1176 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1174 def collection_name singular == plural ? "#{plural}_index" : plural end |
#default_actions ⇒ Object
1140 1141 1142 1143 1144 1145 1146 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1140 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
1184 1185 1186 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1184 def member_scope "#{path}/:#{param}" end |
#name ⇒ Object
1158 1159 1160 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1158 def name @as || @name end |
#nested_param ⇒ Object
1194 1195 1196 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1194 def nested_param :"#{singular}_#{param}" end |
#nested_scope ⇒ Object
1198 1199 1200 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1198 def nested_scope "#{path}/:#{nested_param}" end |
#new_scope(new_path) ⇒ Object
1190 1191 1192 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1190 def new_scope(new_path) "#{path}/#{new_path}" end |
#plural ⇒ Object
1162 1163 1164 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1162 def plural @plural ||= name.to_s end |
#resource_scope ⇒ Object
1178 1179 1180 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1178 def resource_scope controller end |
#shallow? ⇒ Boolean
1202 1203 1204 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1202 def shallow? @shallow end |
#singleton? ⇒ Boolean
1206 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1206 def singleton?; false; end |
#singular ⇒ Object Also known as: member_name
1166 1167 1168 |
# File 'lib/action_dispatch/routing/mapper.rb', line 1166 def singular @singular ||= name.to_s.singularize end |