Module: Card::Query::CardQuery::RelationalAttributes
- Included in:
- Card::Query::CardQuery
- Defined in:
- card/lib/card/query/card_query/relational_attributes.rb
Overview
interpret CQL attributes that relate multiple cards each method below corresponds to a relational CQL term
NOTE: methods using “restrict” can be executed without tying in an additional query if the val in question can be reduced to an id.
Instance Method Summary collapse
-
#created_by(val) ⇒ Object
-
#creator_of(val) ⇒ Object
-
#edited_by(val) ⇒ Object
-
#editor_of(val) ⇒ Object
-
#last_edited_by(val) ⇒ Object
-
#last_editor_of(val) ⇒ Object
-
#left(val) ⇒ Object
-
#left_plus(val) ⇒ Object
~~~~~~ PLUS RELATIONAL.
-
#part(val) ⇒ Object
-
#plus(val) ⇒ Object
DEPRECATED - do not use until/unless optimized, especially with large dbs Multiple joins of cards to cards makes this difficult to scale.
-
#right(val) ⇒ Object
-
#right_plus(val) ⇒ Object
-
#type(val) ⇒ Object
-
#updated_by(val) ⇒ Object
-
#updater_of(val) ⇒ Object
Instance Method Details
#created_by(val) ⇒ Object
56 57 58 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 56 def created_by val restrict :creator_id, val end |
#creator_of(val) ⇒ Object
52 53 54 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 52 def creator_of val tie :card, val, to: :creator_id end |
#edited_by(val) ⇒ Object
36 37 38 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 36 def edited_by val tie_action :action_by, val end |
#editor_of(val) ⇒ Object
28 29 30 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 28 def editor_of val tie_act :action_on, val end |
#last_edited_by(val) ⇒ Object
48 49 50 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 48 def last_edited_by val restrict :updater_id, val end |
#last_editor_of(val) ⇒ Object
44 45 46 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 44 def last_editor_of val tie :card, val, to: :updater_id end |
#left(val) ⇒ Object
20 21 22 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 20 def left val restrict :left_id, val end |
#left_plus(val) ⇒ Object
~~~~~~ PLUS RELATIONAL
62 63 64 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 62 def left_plus val junction val, :left, :right_id end |
#part(val) ⇒ Object
15 16 17 18 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 15 def part val right_val = val.is_a?(Integer) ? val : val.clone any(left: val, right: right_val) end |
#plus(val) ⇒ Object
DEPRECATED - do not use until/unless optimized, especially with large dbs Multiple joins of cards to cards makes this difficult to scale
72 73 74 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 72 def plus val any(left_plus: val, right_plus: val.deep_clone) end |
#right(val) ⇒ Object
24 25 26 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 24 def right val restrict :right_id, val end |
#right_plus(val) ⇒ Object
66 67 68 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 66 def right_plus val junction val, :right, :left_id end |
#type(val) ⇒ Object
11 12 13 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 11 def type val restrict :type_id, val end |
#updated_by(val) ⇒ Object
40 41 42 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 40 def updated_by val tie_action :update_action_by, val end |
#updater_of(val) ⇒ Object
32 33 34 |
# File 'card/lib/card/query/card_query/relational_attributes.rb', line 32 def updater_of val tie_act :update_action_on, val end |