Sha256: a59969ac79a086981fb368c2c337d9a50fc5b9fe8d5a3fb710da565995a4435e

Contents?: true

Size: 978 Bytes

Versions: 1

Compression:

Stored size: 978 Bytes

Contents

require 'jsonapi_compliable/adapters/active_record_sideloading'

module JsonapiCompliable
  module Adapters
    class ActiveRecord < Abstract
      def filter(scope, attribute, value)
        scope.where(attribute => value)
      end

      def order(scope, attribute, direction)
        scope.order(attribute => direction)
      end

      def paginate(scope, current_page, per_page)
        scope.page(current_page).per(per_page)
      end

      def sideload(scope, includes)
        scope.includes(includes)
      end

      def count(scope, attr)
        scope.count
      end

      def average(scope, attr)
        scope.average(attr).to_f
      end

      def sum(scope, attr)
        scope.sum(attr)
      end

      def maximum(scope, attr)
        scope.maximum(attr)
      end

      def minimum(scope, attr)
        scope.minimum(attr)
      end

      def sideloading_module
        JsonapiCompliable::Adapters::ActiveRecordSideloading
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jsonapi_compliable-0.5.1 lib/jsonapi_compliable/adapters/active_record.rb