class Resourcey::Controller
Public Instance Methods
create()
click to toggle source
# File lib/resourcey/controller.rb, line 20 def create @resource = resource_model.new(resource_params) if @resource.save render json: @resource, serializer: serializer, status: :ok else render json: { errors: @resource.errors }, status: :bad_request end end
destroy()
click to toggle source
# File lib/resourcey/controller.rb, line 41 def destroy find_resource @resource.destroy if @resource.destroyed? render json: true, status: :ok else render json: { errors: @resource.errors }, status: :bad_request end end
index()
click to toggle source
# File lib/resourcey/controller.rb, line 11 def index render json: serialized_collection(scoped_resources) end
show()
click to toggle source
# File lib/resourcey/controller.rb, line 15 def show find_resource render json: @resource, serializer: serializer end
update()
click to toggle source
# File lib/resourcey/controller.rb, line 30 def update find_resource @resource.assign_attributes(resource_params) if @resource.save render json: @resource, serializer: serializer, status: :ok else render json: { errors: @resource.errors }, status: :bad_request end end
Private Instance Methods
default_resource_model()
click to toggle source
# File lib/resourcey/controller.rb, line 67 def default_resource_model name = resource_model_name name.safe_constantize || raise(Errors::ClassNotFound.new(name)) end
default_serializer()
click to toggle source
# File lib/resourcey/controller.rb, line 76 def default_serializer name = "#{resource_model_name}Serializer" name.safe_constantize || raise(Errors::ClassNotFound.new(name)) end
find_resource()
click to toggle source
# File lib/resourcey/controller.rb, line 54 def find_resource @resource = resource_model.find(params[:id]) end
resource_model()
click to toggle source
# File lib/resourcey/controller.rb, line 62 def resource_model return self.controller_model if self.controller_model default_resource_model end
resource_model_name()
click to toggle source
# File lib/resourcey/controller.rb, line 58 def resource_model_name @resource_model_name ||= controller_name.singularize.camelize end
resource_params()
click to toggle source
# File lib/resourcey/controller.rb, line 85 def resource_params raise Errors::NotImplemented.new(:resource_params) end
resources()
click to toggle source
# File lib/resourcey/controller.rb, line 81 def resources resource_model.all end
serialized_collection(collection)
click to toggle source
# File lib/resourcey/controller.rb, line 89 def serialized_collection(collection) ActiveModel::Serializer::CollectionSerializer.new(collection, serializer: serializer) end
serializer()
click to toggle source
# File lib/resourcey/controller.rb, line 72 def serializer build_serializer_from_configuration || default_serializer end