Class: WhalesORM::IncludeRelation
- Inherits:
-
BasicObject
- Defined in:
- lib/include_relation.rb
Instance Method Summary
collapse
Constructor Details
#initialize(class_name, sym_to_include, association) ⇒ IncludeRelation
Returns a new instance of IncludeRelation.
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/include_relation.rb', line 3
def initialize(class_name, sym_to_include, association)
@query = <<-SQL
SELECT
#{class_name.table_name}.*
FROM
#{class_name.table_name}
LEFT OUTER JOIN
#{association.table_name}
ON
#{class_name.table_name}.#{association.primary_key} = #{association.table_name}.#{association.foreign_key}
SQL
@class_name = class_name
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &blk) ⇒ Object
17
18
19
20
|
# File 'lib/include_relation.rb', line 17
def method_missing(method, *args, &blk)
results = self.execute
results.send(method, *args, &blk)
end
|
Instance Method Details
#execute ⇒ Object
26
27
28
29
|
# File 'lib/include_relation.rb', line 26
def execute
results = ::DBConnection.execute(@query)
@class_name.parse_all(results)
end
|
#load ⇒ Object
22
23
24
|
# File 'lib/include_relation.rb', line 22
def load
execute
end
|