Module: Uuids::Base::HasUuids::ClassMethods

Defined in:
lib/uuids/base/has_uuids.rb

Overview

Model scopes.

Instance Method Summary collapse

Instance Method Details

#by_uuid(*values) ⇒ ActiveRecord::Relation

Selects records by uuid(s).

Examples:

Selects records by a list of uuids

class MyModel < ActiveRecord::Base
  include Uuids::Base
  has_uuids
end

MyModel.by_uuid(
  "23423fe3-28d8-a1e5-bde3-2e08074aa92d",
  "9223238d-a7e3-2d36-a93d-1e50fea02de2"
)
# => #<ActiveRecord::Relation ...>

Selects all records without a constraint

scope =  MyModel.by_uuid
scope == MyModel.all # => true

Parameters:

  • values (Array<String>, nil)

    ([]) The list of uuids to select records by.

Returns:

  • (ActiveRecord::Relation)

    scope.



32
33
34
# File 'lib/uuids/base/has_uuids.rb', line 32

def by_uuid(*values)
  Queries::ByUuid.select(self, *values)
end