Sha256: 6ea6509a9d2d58272ed91f4989acd1957c57d8dfc94b8027e229605647f56366

Contents?: true

Size: 599 Bytes

Versions: 5

Compression:

Stored size: 599 Bytes

Contents

module JsonapiCompliable
  module Util
    class Scoping
      def self.apply?(controller, object, force)
        return false if force == false
        return true if !controller._jsonapi_scoped && object.is_a?(ActiveRecord::Relation)

        already_scoped = !!controller._jsonapi_scoped
        is_activerecord = object.is_a?(ActiveRecord::Base)
        is_activerecord_array = object.is_a?(Array) && object[0].is_a?(ActiveRecord::Base)

        if [already_scoped, is_activerecord, is_activerecord_array].any?
          false
        else
          true
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
jsonapi_compliable-0.3.8 lib/jsonapi_compliable/util/scoping.rb
jsonapi_compliable-0.3.7 lib/jsonapi_compliable/util/scoping.rb
jsonapi_compliable-0.3.6 lib/jsonapi_compliable/util/scoping.rb
jsonapi_compliable-0.3.5 lib/jsonapi_compliable/util/scoping.rb
jsonapi_compliable-0.3.4 lib/jsonapi_compliable/util/scoping.rb