Class: JsonbOperations::ActiveRecord::JsonbExpression
- Inherits:
-
Object
- Object
- JsonbOperations::ActiveRecord::JsonbExpression
- Defined in:
- lib/jsonb_operations/active_record/jsonb_expression.rb
Overview
typed: strict frozen_string_literal: true
Instance Method Summary collapse
-
#between(range) ⇒ Object
: (untyped) -> untyped.
-
#contained_by(value) ⇒ Object
: (untyped) -> untyped.
-
#contains(value) ⇒ Object
: (untyped) -> untyped.
-
#contains_all_keys(*keys) ⇒ Object
: (*untyped) -> untyped.
-
#contains_any_key(*keys) ⇒ Object
: (*untyped) -> untyped.
-
#contains_key(key) ⇒ Object
: (untyped) -> untyped.
-
#does_not_match(pattern) ⇒ Object
: (untyped) -> untyped.
-
#equals(value) ⇒ Object
: (untyped) -> untyped.
-
#greater_than(value) ⇒ Object
: (untyped) -> untyped.
-
#greater_than_or_equal_to(value) ⇒ Object
: (untyped) -> untyped.
-
#included_in(values) ⇒ Object
: (untyped) -> untyped.
-
#initialize(scope, node) ⇒ JsonbExpression
constructor
: (untyped, untyped) -> void.
-
#less_than(value) ⇒ Object
: (untyped) -> untyped.
-
#less_than_or_equal_to(value) ⇒ Object
: (untyped) -> untyped.
-
#matches(pattern) ⇒ Object
: (untyped) -> untyped.
-
#not_equals(value) ⇒ Object
: (untyped) -> untyped.
-
#not_included_in(values) ⇒ Object
: (untyped) -> untyped.
-
#path_exists(jsonpath) ⇒ Object
: (untyped) -> untyped.
-
#path_match(jsonpath) ⇒ Object
: (untyped) -> untyped.
Constructor Details
#initialize(scope, node) ⇒ JsonbExpression
: (untyped, untyped) -> void
6 7 8 9 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 6 def initialize(scope, node) @scope = scope #: untyped @node = node #: untyped end |
Instance Method Details
#between(range) ⇒ Object
: (untyped) -> untyped
44 45 46 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 44 def between(range) finalize(@node.between(range)) end |
#contained_by(value) ⇒ Object
: (untyped) -> untyped
74 75 76 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 74 def contained_by(value) finalize(::Arel::Nodes::Jsonb::ContainedBy.new(@node, ::JsonbOperations::Arel::NodeMethods.coerce_rhs(value))) end |
#contains(value) ⇒ Object
: (untyped) -> untyped
69 70 71 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 69 def contains(value) finalize(::Arel::Nodes::Jsonb::Contains.new(@node, ::JsonbOperations::Arel::NodeMethods.coerce_rhs(value))) end |
#contains_all_keys(*keys) ⇒ Object
: (*untyped) -> untyped
91 92 93 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 91 def contains_all_keys(*keys) finalize(::Arel::Nodes::Jsonb::HasAllKeys.new(@node, ::Arel::Nodes::Jsonb::TextArray.new(keys.flatten))) end |
#contains_any_key(*keys) ⇒ Object
: (*untyped) -> untyped
86 87 88 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 86 def contains_any_key(*keys) finalize(::Arel::Nodes::Jsonb::HasAnyKey.new(@node, ::Arel::Nodes::Jsonb::TextArray.new(keys.flatten))) end |
#contains_key(key) ⇒ Object
: (untyped) -> untyped
81 82 83 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 81 def contains_key(key) finalize(::Arel::Nodes::Jsonb::HasKey.new(@node, ::Arel::Nodes::Quoted.new(key))) end |
#does_not_match(pattern) ⇒ Object
: (untyped) -> untyped
64 65 66 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 64 def does_not_match(pattern) # rubocop:disable Naming/PredicatePrefix -- reads naturally; mirrors Arel's matcher name finalize(@node.does_not_match(pattern)) end |
#equals(value) ⇒ Object
: (untyped) -> untyped
14 15 16 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 14 def equals(value) finalize(@node.eq(value)) end |
#greater_than(value) ⇒ Object
: (untyped) -> untyped
24 25 26 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 24 def greater_than(value) finalize(@node.gt(value)) end |
#greater_than_or_equal_to(value) ⇒ Object
: (untyped) -> untyped
29 30 31 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 29 def greater_than_or_equal_to(value) finalize(@node.gteq(value)) end |
#included_in(values) ⇒ Object
: (untyped) -> untyped
49 50 51 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 49 def included_in(values) finalize(@node.in(values)) end |
#less_than(value) ⇒ Object
: (untyped) -> untyped
34 35 36 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 34 def less_than(value) finalize(@node.lt(value)) end |
#less_than_or_equal_to(value) ⇒ Object
: (untyped) -> untyped
39 40 41 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 39 def less_than_or_equal_to(value) finalize(@node.lteq(value)) end |
#matches(pattern) ⇒ Object
: (untyped) -> untyped
59 60 61 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 59 def matches(pattern) finalize(@node.matches(pattern)) end |
#not_equals(value) ⇒ Object
: (untyped) -> untyped
19 20 21 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 19 def not_equals(value) finalize(@node.not_eq(value)) end |
#not_included_in(values) ⇒ Object
: (untyped) -> untyped
54 55 56 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 54 def not_included_in(values) finalize(@node.not_in(values)) end |
#path_exists(jsonpath) ⇒ Object
: (untyped) -> untyped
96 97 98 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 96 def path_exists(jsonpath) finalize(::Arel::Nodes::Jsonb::PathExists.new(@node, ::Arel::Nodes::Quoted.new(jsonpath.to_s))) end |
#path_match(jsonpath) ⇒ Object
: (untyped) -> untyped
101 102 103 |
# File 'lib/jsonb_operations/active_record/jsonb_expression.rb', line 101 def path_match(jsonpath) finalize(::Arel::Nodes::Jsonb::PathMatch.new(@node, ::Arel::Nodes::Quoted.new(jsonpath.to_s))) end |