Class: ActionController::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/mongosteen.rb

Class Method Summary collapse

Class Method Details

.mongosteenObject

Call mongosteen in your controller to have all the required modules and funcionality included.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mongosteen.rb', line 23

def self.mongosteen
  self.class_eval do

    inherit_resources

    respond_to :json
    respond_to :csv, :only => :index

    class_attribute :as_json_config
    class_attribute :as_json_config_actions
    class_attribute :json_default_methods

    class_attribute :as_csv_config

    extend  Mongosteen::ClassMethods
    include Mongosteen::BaseHelpers
    include Mongosteen::Actions
    include Mongosteen::PermittedParams

    instance_name = self.resources_configuration[:self][:instance_name]

    # configure permitted_params to accept all attributes
    define_method("#{ instance_name }_params") { params_all_permitted }
    private "#{ instance_name }_params"

    # support for character default list item attributes
    chr_default_methods = %w( _list_item_title _list_item_subtitle _list_item_thumbnail _document_versions )
    self.json_default_methods = chr_default_methods.select { |m| self.resource_class.method_defined? m }

    json_config()
    csv_config()
  end
end