Module: RailsStuff::ResourcesController::BasicHelpers::ClassMethods

Defined in:
lib/rails_stuff/resources_controller/basic_helpers.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#after_save_actionObject

Defines action to redirect after resource was saved. Default to ‘:show`.



17
18
19
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 17

def after_save_action
  @after_save_action
end

#permitted_attrsObject

Class-level permitted attributes.

‘attr_reader`, default to `[]`.



35
36
37
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 35

def permitted_attrs
  @permitted_attrs ||= []
end

#resource_classObject

Resource class for controller. Default to class, based on demodulized controller name.



21
22
23
24
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 21

def resource_class
  @resource_class ||=
    Object.const_get(name.to_s.demodulize.sub(/Controller$/, '').singularize)
end

#resource_param_nameObject

Key to lookup for resource attributes in ‘params`. Default to class’es ‘param_key`.



28
29
30
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 28

def resource_param_name
  @resource_param_name ||= resource_class.model_name.param_key
end

Instance Method Details

#authorize_resourceObject

Prevent CanCan’s implementation.



45
46
47
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 45

def authorize_resource
  raise 'use `before_action :authorize_resource!` instead'
end

#permit_attrs(*attrs) ⇒ Object

Concats ‘@permitted_attrs` variable with given attrs.



40
41
42
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 40

def permit_attrs(*attrs)
  permitted_attrs.concat attrs
end