class ActiverecordAnyOf::AlternativeBuilder

Main class allowing to build alternative conditions for the query.

Public Class Methods

new(match_type, context, *queries) click to toggle source
# 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

Public Instance Methods

build() click to toggle source
# File lib/activerecord_any_of/alternative_builder.rb, line 21
def build
  @builder.build
end