Module: ActiveTools::CoreExtension::ConcatConditions::ArrayExtension

Defined in:
lib/active_tools/core_extension/concat_conditions.rb

Instance Method Summary collapse

Instance Method Details

#concat_as_condition_with(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/active_tools/core_extension/concat_conditions.rb', line 6

def concat_as_condition_with(*args)
  options = args.extract_options!
  conditions = args.first||[]
  operator = options[:operator]||"AND"
  round = options[:round]||false
  concat_array = [self[0],conditions[0]].compact
  sql_clause = concat_array.present? ? concat_array.join(" #{operator} ") : nil
  [(round && concat_array.size > 1) ? "(#{sql_clause})" : sql_clause, *((self[1..-1]||[])+(conditions[1..-1]||[]))]
end

#concat_as_condition_with!(*args) ⇒ Object



15
16
17
# File 'lib/active_tools/core_extension/concat_conditions.rb', line 15

def concat_as_condition_with!(*args)
  replace(concat_as_condition_with(*args))
end