Module: ROM::SQL::RelationInclusion
- Defined in:
- lib/rom/sql/relation_inclusion.rb
Overview
Sequel-specific relation extensions
Defined Under Namespace
Modules: AssociationDSL
Class Method Summary collapse
Instance Method Summary collapse
-
#association_join(*args) ⇒ Object
Join configured association.
-
#association_left_join(*args) ⇒ Object
Join configured association.
- #initialize(*args) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/rom/sql/relation_inclusion.rb', line 8 def self.included(klass) klass.extend(AssociationDSL) klass.send(:undef_method, :select) klass.class_eval { class << self attr_accessor :model end self.model = Class.new(Sequel::Model) } end |
Instance Method Details
#association_join(*args) ⇒ Object
Join configured association.
Uses INNER JOIN type.
45 46 47 |
# File 'lib/rom/sql/relation_inclusion.rb', line 45 def association_join(*args) send(:append_association, __method__, *args) end |
#association_left_join(*args) ⇒ Object
Join configured association
Uses LEFT JOIN type.
66 67 68 |
# File 'lib/rom/sql/relation_inclusion.rb', line 66 def association_left_join(*args) send(:append_association, __method__, *args) end |
#initialize(*args) ⇒ Object
22 23 24 25 26 |
# File 'lib/rom/sql/relation_inclusion.rb', line 22 def initialize(*args) super @model = self.class.model @header = dataset.header end |