Class: Cuprum::Collections::Scope

Inherits:
Cuprum::Collections::Scopes::CriteriaScope show all
Defined in:
lib/cuprum/collections/scope.rb

Overview

Generic scope class for defining collection-independent criteria scopes.

Instance Attribute Summary

Attributes included from Cuprum::Collections::Scopes::Criteria

#criteria

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Cuprum::Collections::Scopes::Criteria

#==, #and, #as_json, #debug, #empty?, #invert, #inverted?, #or, #type, #with_criteria

Methods inherited from Cuprum::Collections::Scopes::Base

#==, #as_json, #debug, #empty?, #invert, #type

Methods included from Cuprum::Collections::Scopes::Composition

#and, #not, #or

Constructor Details

#initialize(value = nil) { ... } ⇒ Array

Returns a new instance of Scope.

Returns the generated criteria.

Parameters:

  • value (Hash, nil) (defaults to: nil)

    the keys and values to parse.

Yields:

  • the query block.

Yield Returns:

  • (Hash)

    a Hash with String keys.



23
24
25
26
27
# File 'lib/cuprum/collections/scope.rb', line 23

def initialize(*, inverted: false, &)
  criteria = self.class.parse(*, &)

  super(criteria:, inverted:)
end

Class Method Details

.build(value = nil, &block) ⇒ Object



11
12
13
# File 'lib/cuprum/collections/scope.rb', line 11

def self.build(...)
  new(...)
end