lib/adeia/controller_resource.rb in adeia-0.11.4 vs lib/adeia/controller_resource.rb in adeia-0.11.5

- old
+ new

@@ -30,35 +30,36 @@ @controller = controller @action_name = args.fetch(:action, @controller.action_name) @controller_name = args.fetch(:controller, @controller.controller_path) @token = args.fetch(:token, @controller.request.GET[:token]) @resource = args[:resource] + @model = args.fetch(:model, resource_class) @user = @controller.current_user @controller.current_user ||= GuestUser.new # if not signed in but authorized @controller.store_location end def load_resource begin - @resource ||= resource_class.find(@controller.params.fetch(:id)) + @resource ||= @model.find(@controller.params.fetch(:id)) @controller.instance_variable_set("@#{resource_name}", @resource) rescue KeyError raise MissingParams.new(:id) end end def load_records rights = authorization.read_rights.merge(authorization.token_rights(:read)) { |key, v1, v2| v1 + v2 } rights, resource_ids = rights[:rights], rights[:resource_ids] @records ||= if rights.any? { |r| r.permission_type == "all_entries" } - resource_class.all + @model.all elsif rights.any? { |r| r.permission_type == "on_ownerships" } - resource_class.where("user_id = ? OR id IN (?)", @user.id, resource_ids) + @model.where("user_id = ? OR id IN (?)", @user.id, resource_ids) elsif rights.any? { |r| r.permission_type == "on_entry" } - resource_class.where(id: resource_ids) + @model.where(id: resource_ids) else - resource_class.none + @model.none end @controller.instance_variable_set("@#{resource_name.pluralize}", @records) end def authorization @@ -87,10 +88,10 @@ @controller_name.classify.demodulize.constantize end end def resource_name - resource_class.model_name.element + @model.model_name.element end def controller_name(resource) resource.model_name.collection end