Module: Trax::Model::ExtensionsFor::StructFields::String::ClassMethods

Defined in:
lib/trax/model/extensions_for/struct_fields/string.rb

Instance Method Summary collapse

Instance Method Details

#eq(*_scope_values) ⇒ Object



10
11
12
13
# File 'lib/trax/model/extensions_for/struct_fields/string.rb', line 10

def eq(*_scope_values)
  _scope_values.flat_compact_uniq!
  model_class.where("(#{parent_definition.field_name} ->> '#{field_name}') IN(?)", _scope_values)
end

#eq_lower(*_scope_values) ⇒ Object



15
16
17
18
# File 'lib/trax/model/extensions_for/struct_fields/string.rb', line 15

def eq_lower(*_scope_values)
  _scope_values.flat_compact_uniq!
  model_class.where("lower(#{parent_definition.field_name} ->> '#{field_name}') IN(?)", _scope_values.map(&:downcase))
end

#matches(*_scope_values) ⇒ Object



20
21
22
23
# File 'lib/trax/model/extensions_for/struct_fields/string.rb', line 20

def matches(*_scope_values)
  _scope_values.flat_compact_uniq!
  model_class.where("(#{parent_definition.field_name} ->> '#{field_name}') ilike ANY(array[?])", _scope_values.map(&:to_matchable))
end