Class: Clearly::Query::Compose::Custom
- Inherits:
-
Object
- Object
- Clearly::Query::Compose::Custom
- Defined in:
- lib/clearly/query/compose/custom.rb
Overview
Public class for creating custom queries.
Instance Method Summary collapse
-
#compose_contains(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create contains condition.
-
#compose_ends_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create ends_with condition.
-
#compose_eq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create equals condition.
-
#compose_gt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create greater than condition.
-
#compose_gteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create greater than or equal condition.
-
#compose_in(table, column_name, allowed, values) ⇒ Arel::Nodes::Node
Create IN condition.
-
#compose_lt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create less than condition.
-
#compose_lteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create less than or equal condition.
-
#compose_not_contains(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not contains condition.
-
#compose_not_ends_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not ends_with condition.
-
#compose_not_eq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not equals condition.
-
#compose_not_gt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not greater than condition.
-
#compose_not_gteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not greater than or equal condition.
-
#compose_not_in(table, column_name, allowed, values) ⇒ Arel::Nodes::Node
Create NOT IN condition.
-
#compose_not_lt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not less than condition.
-
#compose_not_lteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not less than or equal condition.
-
#compose_not_range(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create NOT IN condition using from (inclusive) and to (exclusive).
-
#compose_not_regex(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create negated regular expression condition.
-
#compose_not_starts_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not starts_with condition.
-
#compose_null(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create null comparison.
-
#compose_range(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create IN condition using from (inclusive) and to (exclusive).
-
#compose_regex(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create regular expression condition.
-
#compose_starts_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create starts_with condition.
Methods included from Validate
#like_syntax, #sanitize_like_value, #sanitize_similar_to_value, #validate_array, #validate_array_items, #validate_association, #validate_boolean, #validate_condition, #validate_definition, #validate_definition_instance, #validate_float, #validate_hash, #validate_integer, #validate_model, #validate_name, #validate_node_or_attribute, #validate_not_blank, #validate_query, #validate_spec_association, #validate_symbol, #validate_table, #validate_table_column
Methods included from Range
Instance Method Details
#compose_contains(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create contains condition.
126 127 128 129 |
# File 'lib/clearly/query/compose/custom.rb', line 126 def compose_contains(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_contains_node(table[column_name], value) end |
#compose_ends_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create ends_with condition.
170 171 172 173 |
# File 'lib/clearly/query/compose/custom.rb', line 170 def compose_ends_with(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_ends_with_node(table[column_name], value) end |
#compose_eq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create equals condition.
20 21 22 23 |
# File 'lib/clearly/query/compose/custom.rb', line 20 def compose_eq(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_eq_node(table[column_name], value) end |
#compose_gt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create greater than condition.
63 64 65 66 |
# File 'lib/clearly/query/compose/custom.rb', line 63 def compose_gt(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_gt_node(table[column_name], value) end |
#compose_gteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create greater than or equal condition.
105 106 107 108 |
# File 'lib/clearly/query/compose/custom.rb', line 105 def compose_gteq(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_gteq_node(table[column_name], value) end |
#compose_in(table, column_name, allowed, values) ⇒ Arel::Nodes::Node
Create IN condition.
192 193 194 195 |
# File 'lib/clearly/query/compose/custom.rb', line 192 def compose_in(table, column_name, allowed, values) validate_table_column(table, column_name, allowed) compose_in_node(table[column_name], values) end |
#compose_lt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create less than condition.
42 43 44 45 |
# File 'lib/clearly/query/compose/custom.rb', line 42 def compose_lt(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_lt_node(table[column_name], value) end |
#compose_lteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create less than or equal condition.
84 85 86 87 |
# File 'lib/clearly/query/compose/custom.rb', line 84 def compose_lteq(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_lteq_node(table[column_name], value) end |
#compose_not_contains(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not contains condition.
137 138 139 140 |
# File 'lib/clearly/query/compose/custom.rb', line 137 def compose_not_contains(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_contains_node(table[column_name], value) end |
#compose_not_ends_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not ends_with condition.
181 182 183 184 |
# File 'lib/clearly/query/compose/custom.rb', line 181 def compose_not_ends_with(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_ends_with_node(table[column_name], value) end |
#compose_not_eq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not equals condition.
31 32 33 34 |
# File 'lib/clearly/query/compose/custom.rb', line 31 def compose_not_eq(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_eq_node(table[column_name], value) end |
#compose_not_gt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not greater than condition.
74 75 76 |
# File 'lib/clearly/query/compose/custom.rb', line 74 def compose_not_gt(table, column_name, allowed, value) compose_lteq(table, column_name, allowed, value) end |
#compose_not_gteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not greater than or equal condition.
116 117 118 |
# File 'lib/clearly/query/compose/custom.rb', line 116 def compose_not_gteq(table, column_name, allowed, value) compose_lt(table, column_name, allowed, value) end |
#compose_not_in(table, column_name, allowed, values) ⇒ Arel::Nodes::Node
Create NOT IN condition.
203 204 205 206 |
# File 'lib/clearly/query/compose/custom.rb', line 203 def compose_not_in(table, column_name, allowed, values) validate_table_column(table, column_name, allowed) compose_not_in_node(table[column_name], values) end |
#compose_not_lt(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not less than condition.
53 54 55 |
# File 'lib/clearly/query/compose/custom.rb', line 53 def compose_not_lt(table, column_name, allowed, value) compose_gteq(table, column_name, allowed, value) end |
#compose_not_lteq(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not less than or equal condition.
95 96 97 |
# File 'lib/clearly/query/compose/custom.rb', line 95 def compose_not_lteq(table, column_name, allowed, value) compose_gt(table, column_name, allowed, value) end |
#compose_not_range(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create NOT IN condition using from (inclusive) and to (exclusive).
260 261 262 263 |
# File 'lib/clearly/query/compose/custom.rb', line 260 def compose_not_range(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_range_node(table[column_name], value) end |
#compose_not_regex(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create negated regular expression condition. Not available just now, maybe in Arel 6?
226 227 228 229 |
# File 'lib/clearly/query/compose/custom.rb', line 226 def compose_not_regex(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_regex_node(table[column_name], value) end |
#compose_not_starts_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create not starts_with condition.
159 160 161 162 |
# File 'lib/clearly/query/compose/custom.rb', line 159 def compose_not_starts_with(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_not_starts_with_node(table[column_name], value) end |
#compose_null(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create null comparison.
237 238 239 240 241 |
# File 'lib/clearly/query/compose/custom.rb', line 237 def compose_null(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) validate_boolean(value) compose_null_node(table[column_name], value) end |
#compose_range(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create IN condition using from (inclusive) and to (exclusive).
249 250 251 252 |
# File 'lib/clearly/query/compose/custom.rb', line 249 def compose_range(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_range_node(table[column_name], value) end |
#compose_regex(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create regular expression condition.
214 215 216 217 |
# File 'lib/clearly/query/compose/custom.rb', line 214 def compose_regex(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_regex_node(table[column_name], value) end |
#compose_starts_with(table, column_name, allowed, value) ⇒ Arel::Nodes::Node
Create starts_with condition.
148 149 150 151 |
# File 'lib/clearly/query/compose/custom.rb', line 148 def compose_starts_with(table, column_name, allowed, value) validate_table_column(table, column_name, allowed) compose_starts_with_node(table[column_name], value) end |