Class: ActionController::Resources::Resource

Attributes

NameRead/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