Class: Rasti::DB::NQL::FilterConditionStrategies::Types::SQLiteArray

Inherits:
Object
  • Object
show all
Defined in:
lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb

Class Method Summary collapse

Class Method Details

.equal(identifier, values) ⇒ Object



8
9
10
11
# File 'lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb', line 8

def self.equal(identifier, values)
  array = values.map { |value| "\"#{value}\"" }.join(',')
  {identifier => "[#{array}]"}
end

.include(identifier, values) ⇒ Object



21
22
23
# File 'lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb', line 21

def self.include(identifier, values)
  Sequel.|(*values.map { |value| Sequel.like(identifier, "%\"#{value}\"%") })
end

.like(identifier, values) ⇒ Object



17
18
19
# File 'lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb', line 17

def self.like(identifier, values)
  Sequel.|(*values.map { |value| Sequel.like(identifier, "%#{value}%") })
end

.not_equal(identifier, values) ⇒ Object



13
14
15
# File 'lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb', line 13

def self.not_equal(identifier, values)
  Sequel.|(*values.map { |value| ~Sequel.like(identifier, "%\"#{value}\"%") })
end

.not_include(identifier, values) ⇒ Object



25
26
27
# File 'lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb', line 25

def self.not_include(identifier, values)
  Sequel.&(*values.map { |value| ~Sequel.like(identifier, "%\"#{value}\"%") })
end