Module: RailsStuff::ResourcesController

Extended by:
ActiveSupport::Autoload, KaminariHelpers::ConfigMethods
Defined in:
lib/rails_stuff/resources_controller.rb,
lib/rails_stuff/resources_controller/actions.rb,
lib/rails_stuff/resources_controller/belongs_to.rb,
lib/rails_stuff/resources_controller/sti_helpers.rb,
lib/rails_stuff/resources_controller/basic_helpers.rb,
lib/rails_stuff/resources_controller/resource_helper.rb,
lib/rails_stuff/resources_controller/kaminari_helpers.rb,
lib/rails_stuff/resources_controller/has_scope_helpers.rb

Overview

InheritedResources on diet. Tiny and simple implementation. Feel free to change/extend it right in you application. Or just use separate modules.

Defined Under Namespace

Modules: Actions, BasicHelpers, BelongsTo, HasScopeHelpers, KaminariHelpers, ResourceHelper, StiHelpers

Class Method Summary collapse

Instance Method Summary collapse

Methods included from KaminariHelpers::ConfigMethods

use_kaminari!, use_kaminari?

Class Method Details

.inject(base, **options) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/rails_stuff/resources_controller.rb', line 22

def inject(base, **options)
  base.include BasicHelpers
  base.include KaminariHelpers if options.fetch(:kaminari) { use_kaminari? }
  base.include StiHelpers if options[:sti]
  base.include Actions
  base.extend HasScopeHelpers
  base.extend ResourceHelper
  base.extend BelongsTo
end

Instance Method Details

#resources_controller(**options) ⇒ Object

Setups basic actions and helpers in resources controller.

#### Options

  • ‘sti` - include STI helpers

  • ‘kaminari` - include Kaminari helpers

  • ‘after_save_action` - action to use for `after_save_url`

  • ‘source_relation` - override `source_relation`



41
42
43
44
45
46
47
48
49
50
# File 'lib/rails_stuff/resources_controller.rb', line 41

def resources_controller(**options)
  ResourcesController.inject(self, **options)

  self.after_save_action = options[:after_save_action] || after_save_action

  resource_belongs_to(*options[:belongs_to]) if options[:belongs_to]
  if options[:source_relation]
    protected define_method(:source_relation, &options[:source_relation])
  end
end