Class: ActionController::Resources::Resource
Attributes
| Name | Read/write? |
|---|---|
| collection_methods | R |
| member_methods | R |
| name_prefix | R |
| new_methods | R |
| options | R |
| path_prefix | R |
| path_segment | R |
| plural | R |
| singular | R |
Public Class Methods
new (entities, options)
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 51 51: def initialize(entities, options) 52: @plural ||= entities 53: @singular ||= options[:singular] || plural.to_s.singularize 54: @path_segment = options.delete(:as) || @plural 55: 56: @options = options 57: 58: arrange_actions 59: add_default_actions 60: set_prefixes 61: end
Public Instance Methods
action_separator ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 98 98: def action_separator 99: @action_separator ||= Base.resource_action_separator 100: end
conditions ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 74 74: def conditions 75: @conditions = @options[:conditions] || {} 76: end
controller ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 63 63: def controller 64: @controller ||= "#{options[:namespace]}#{(options[:controller] || plural).to_s}" 65: end
member_path ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 86 86: def member_path 87: @member_path ||= "#{path}/:id" 88: end
nesting_name_prefix ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 94 94: def nesting_name_prefix 95: "#{name_prefix}#{singular}_" 96: end
nesting_path_prefix ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 90 90: def nesting_path_prefix 91: @nesting_path_prefix ||= "#{path}/:#{singular}_id" 92: end
new_path ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 82 82: def new_path 83: @new_path ||= "#{path}/new" 84: end
path ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 78 78: def path 79: @path ||= "#{path_prefix}/#{path_segment}" 80: end
requirements (with_id = false)
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 67 67: def requirements(with_id = false) 68: @requirements ||= @options[:requirements] || {} 69: @id_requirement ||= { :id => @requirements.delete(:id) || /[^#{Routing::SEPARATORS.join}]+/ } 70: 71: with_id ? @requirements.merge(@id_requirement) : @requirements 72: end
uncountable? ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 102 102: def uncountable? 103: @singular.to_s == @plural.to_s 104: end
Protected Instance Methods
add_default_action (collection, method, action)
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 130 130: def add_default_action(collection, method, action) 131: (collection[method] ||= []).unshift(action) 132: end
add_default_actions ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 113 113: def add_default_actions 114: add_default_action(member_methods, :get, :edit) 115: add_default_action(new_methods, :get, :new) 116: end
arrange_actions ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 107 107: def arrange_actions 108: @collection_methods = arrange_actions_by_methods(options.delete(:collection)) 109: @member_methods = arrange_actions_by_methods(options.delete(:member)) 110: @new_methods = arrange_actions_by_methods(options.delete(:new)) 111: end
arrange_actions_by_methods (actions)
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 123 123: def arrange_actions_by_methods(actions) 124: (actions || {}).inject({}) do |flipped_hash, (key, value)| 125: (flipped_hash[value] ||= []) << key 126: flipped_hash 127: end 128: end
set_prefixes ()
# File vendor/rails/actionpack/lib/action_controller/resources.rb, line 118 118: def set_prefixes 119: @path_prefix = options.delete(:path_prefix) 120: @name_prefix = options.delete(:name_prefix) 121: end