Class: Rasti::DB::NQL::FilterConditionStrategies::Types::SQLiteArray
- Inherits:
-
Object
- Object
- Rasti::DB::NQL::FilterConditionStrategies::Types::SQLiteArray
- Defined in:
- lib/rasti/db/nql/filter_condition_strategies/types/sqlite_array.rb
Class Method Summary collapse
- .equal(identifier, values) ⇒ Object
- .include(identifier, values) ⇒ Object
- .like(identifier, values) ⇒ Object
- .not_equal(identifier, values) ⇒ Object
- .not_include(identifier, values) ⇒ Object
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 |