Class: ActiverecordAnyOf::AlternativeBuilder::Builder

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

Direct Known Subclasses

NegativeBuilder, PositiveBuilder

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context, *source_queries) ⇒ Builder

Returns a new instance of Builder.



18
19
20
21
# File 'lib/activerecord_any_of/alternative_builder.rb', line 18

def initialize(context, *source_queries)
  @context, @source_queries = context, source_queries
  @queries_bind_values, @queries_joins_values = [], { includes: [],  joins: [], references: [] }
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args, &block) ⇒ Object (private)



49
50
51
# File 'lib/activerecord_any_of/alternative_builder.rb', line 49

def method_missing(method_name, *args, &block)
  @context.send(method_name, *args, &block)
end

Instance Attribute Details

#queries_bind_valuesObject

Returns the value of attribute queries_bind_values.



16
17
18
# File 'lib/activerecord_any_of/alternative_builder.rb', line 16

def queries_bind_values
  @queries_bind_values
end

#queries_joins_valuesObject

Returns the value of attribute queries_joins_values.



16
17
18
# File 'lib/activerecord_any_of/alternative_builder.rb', line 16

def queries_joins_values
  @queries_joins_values
end

Instance Method Details

#buildObject



23
24
25
# File 'lib/activerecord_any_of/alternative_builder.rb', line 23

def build
  ActiveRecord::Base.connection.supports_statement_cache? ? with_statement_cache : without_statement_cache
end