Sha256: db839b4b5e0541e637d41bf806efefebf1d363168b0820733cfeae4626bc2d94
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
module ForestLiana class ResourcesController < ForestLiana::ApplicationController begin prepend ResourcesExtensions rescue NameError end before_filter :find_resource def index getter = ResourcesGetter.new(@resource, params) getter.perform render serializer: nil, json: serialize_models(getter.records, include: includes, count: getter.count, params: params) end def show getter = ResourceGetter.new(@resource, params) getter.perform render serializer: nil, json: serialize_model(getter.record, include: includes) end def create getter = ResourceCreator.new(@resource, params) getter.perform render serializer: nil, json: serialize_model(getter.record, include: includes) end def update getter = ResourceUpdater.new(@resource, params) getter.perform render serializer: nil, json: serialize_model(getter.record, include: includes) end def destroy @resource.destroy_all(id: params[:id]) render nothing: true, status: 204 end private def find_resource @resource = SchemaUtils.find_model_from_table_name(params[:collection]) if @resource.nil? || !@resource.ancestors.include?(ActiveRecord::Base) render serializer: nil, json: {status: 404}, status: :not_found end end def resource_params ResourceDeserializer.new(@resource, params[:resource], true).perform end def includes SchemaUtils.one_associations(@resource).map {|a| a.name.to_s} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
forest_liana-1.3.42 | app/controllers/forest_liana/resources_controller.rb |