class Pakyow::Data::Sources::Relational::Associations::Through
@api private
Attributes
joining_source[RW]
joining_source_name[R]
Public Class Methods
new(association, joining_source_name:)
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 26 def initialize(association, joining_source_name:) @association, @joining_source_name = association, Support.inflector.pluralize(joining_source_name).to_sym @internal = false end
Public Instance Methods
dependent_source_names()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 36 def dependent_source_names [@association.associated_source_name, @joining_source_name] end
internal!()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 60 def internal! @internal = true end
internal?()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 56 def internal? @internal == true end
left_foreign_key_field()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 44 def left_foreign_key_field :"#{left_name}_#{@association.associated_source.primary_key_field}" end
left_name()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 40 def left_name Support.inflector.singularize(@association.name).to_sym end
right_foreign_key_field()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 52 def right_foreign_key_field :"#{right_name}_#{@association.source.primary_key_field}" end
right_name()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 48 def right_name Support.inflector.singularize(@association.associated_name).to_sym end
type()
click to toggle source
# File lib/pakyow/data/sources/relational/associations/through.rb, line 32 def type :through end