module Garage::RestfulActions::ClassMethods

Public Instance Methods

resource_class() click to toggle source
# File lib/garage/restful_actions.rb, line 34
def resource_class
  @resource_class ||= default_resource_class
end
resource_class=(klass) click to toggle source
# File lib/garage/restful_actions.rb, line 30
def resource_class=(klass)
  @resource_class = klass
end

Private Instance Methods

default_resource_class() click to toggle source
# File lib/garage/restful_actions.rb, line 40
def default_resource_class
  class_name = name.sub(/Controller\z/, '').demodulize.singularize
  begin
    return "#{class_name}Resource".constantize
  rescue NameError
    begin
      return class_name.constantize
    rescue NameError
      raise "Garage needs `#{class_name}Resource` or `#{class_name}` for resource class of #{name} but neither was found. If you want use an alternative class for the resource class, specify the resource class by `.resource_class=` in your controller."
    end
  end
end