class Dart::Relation
Attributes
associations[R]
column_names[R]
table_name[R]
Public Class Methods
new(table, columns)
click to toggle source
# File lib/dart/core/relation.rb, line 8 def initialize(table, columns) @table_name = table.to_s.freeze @column_names = columns.map(&:to_s).map(&:freeze) @associations = [] end
Public Instance Methods
add_association(ass)
click to toggle source
# File lib/dart/core/relation.rb, line 38 def add_association(ass) associations << ass end
all_associations()
click to toggle source
@return [Array<Association>] list of all associations on this relation
# File lib/dart/core/relation.rb, line 15 def all_associations associations end
child_associations()
click to toggle source
# File lib/dart/core/relation.rb, line 34 def child_associations associations.select { |a| a.is_a?(OneToManyAssociation) } end
direct_associations()
click to toggle source
@return [Array<Association>] list of all direct (many_to_one or one_to_many) associations on this relation
# File lib/dart/core/relation.rb, line 20 def direct_associations # associations - join_associations parent_associations + child_associations end
join_associations()
click to toggle source
@return [Array<Association>] list of all join (many_to_many) associations on this relation
# File lib/dart/core/relation.rb, line 26 def join_associations associations.select { |a| a.is_a?(ManyToManyAssociation) } end
parent_associations()
click to toggle source
# File lib/dart/core/relation.rb, line 30 def parent_associations associations.select { |a| a.is_a?(ManyToOneAssociation) } end
to_s()
click to toggle source
# File lib/dart/core/relation.rb, line 42 def to_s table_name end