Class: ActiverecordAnyOf::AlternativeBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/activerecord_any_of/alternative_builder.rb

Overview

Main class allowing to build alternative conditions for the query.

Defined Under Namespace

Classes: Builder, NegativeBuilder, PositiveBuilder

Instance Method Summary collapse

Constructor Details

#initialize(match_type, context, *queries) ⇒ AlternativeBuilder

Returns a new instance of AlternativeBuilder.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/activerecord_any_of/alternative_builder.rb', line 8

def initialize(match_type, context, *queries)
  if queries.first.is_a?(Hash) && (queries.count == 1)
    queries = queries.first.each_pair.map { |attr, predicate| { attr => predicate } }
  end

  @builder = if match_type == :negative
               NegativeBuilder.new(context,
                                   *queries)
             else
               PositiveBuilder.new(context, *queries)
             end
end

Instance Method Details

#buildObject



21
22
23
# File 'lib/activerecord_any_of/alternative_builder.rb', line 21

def build
  @builder.build
end