Class: AncestorsVisualization::DiagramCreater::ObjectRelation

Inherits:
Object
  • Object
show all
Defined in:
lib/ancestors_visualization/diagram_creater.rb

Instance Method Summary collapse

Constructor Details

#initialize(object, target_objects) ⇒ ObjectRelation

Returns a new instance of ObjectRelation.



71
72
73
74
# File 'lib/ancestors_visualization/diagram_creater.rb', line 71

def initialize(object, target_objects)
  @object = object
  @target_objects = target_objects
end

Instance Method Details

#destinationsObject



82
83
84
85
86
87
88
89
90
91
92
# File 'lib/ancestors_visualization/diagram_creater.rb', line 82

def destinations
  @destinations ||= begin
    dsts = ancestors_without_self(object)

    ancestors_without_self(object).each do |klass|
      dsts -= ancestors_without_self(klass)
    end

    dsts.select {|o| under_target_namespaces?(o) }
  end
end

#extend_destinationsObject



94
95
96
97
98
99
100
101
102
103
104
# File 'lib/ancestors_visualization/diagram_creater.rb', line 94

def extend_destinations
  @extend_destinations ||= begin
    dsts = extended_modules(object)

    ancestors_without_self(object).each do |klass|
      dsts -= extended_modules(klass)
    end

    dsts.select {|o| under_target_namespaces?(o) }
  end
end

#sourceObject



76
77
78
79
80
# File 'lib/ancestors_visualization/diagram_creater.rb', line 76

def source
  return nil unless under_target_namespaces?(object)

  @source ||= object
end