Class: InheritedResources::Base

Inherits:
ApplicationController
  • Object
show all
Defined in:
lib/inherited_resources/base.rb

Overview

Base

This is the base class that holds all actions. If you see the code for each action, they are quite similar to Rails default scaffold.

To change your base behavior, you can overwrite your actions and call super, call default class method, call <actions class method or overwrite some helpers in the base_helpers.rb file.

Class Method Summary collapse

Class Method Details

.inherit_resources(base) ⇒ Object

Overwrite inherit_resources to add specific InheritedResources behavior.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/inherited_resources/base.rb', line 16

def self.inherit_resources(base)
  base.class_eval do
    include InheritedResources::Actions
    include InheritedResources::BaseHelpers
    extend  InheritedResources::ClassMethods
    extend  InheritedResources::UrlHelpers

    # Add at least :html mime type
    respond_to :html
    self.responder = InheritedResources::Responder

    helper_method :resource, :collection, :resource_class, :association_chain,
                  :resource_instance_name, :resource_collection_name,
                  :resource_url, :resource_path,
                  :collection_url, :collection_path,
                  :new_resource_url, :new_resource_path,
                  :edit_resource_url, :edit_resource_path,
                  :parent_url, :parent_path,
                  :smart_resource_url, :smart_collection_url

    self.class_attribute :resource_class,  :parents_symbols,  :resources_configuration, :instance_writer => false

    protected :resource_class, :parents_symbols, :resources_configuration,
      :resource_class?, :parents_symbols?, :resources_configuration?
  end
end

.inherited(klass) ⇒ Object



43
44
45
46
# File 'lib/inherited_resources/base.rb', line 43

def self.inherited(klass)
  super
  klass.helper :all if klass.superclass == InheritedResources::Base
end