Module: ControllerResources::Extension::ClassMethods

Defined in:
lib/controller_resources/extension.rb

Instance Method Summary collapse

Instance Method Details

#resource(name = nil, &block) ⇒ Object

Initialize this controller as an authenticated resource.



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/controller_resources/extension.rb', line 45

def resource(name=nil, &block)
  name = self.name.gsub(/Controller/, '').tableize if name.nil?
  self._singleton_resource = name.to_s.singularize.to_sym
  self._collection_resource = name.to_s.pluralize.to_sym

  class_eval "    expose :\#{model}, except: %w(index)\n    expose :\#{collection}, only: %w(index) do\n      \#{model_class}.where(search_params)\n    end\n    \#{authenticate if defined? Devise}\n    \#{authorize if defined? Authority}\n  RUBY\n\n  yield if block_given?\nend\n"