Search code examples
rubyumlsequence-diagram

UML sequence diagram - how to represent method arguments that instantiate objects


I'm not sure how to represent something like the following in a sequence diagram (in Ruby):

 class FirstClass
   def process 
       thing = SecondClass.new('string argument', third_class, 2) 
    end 

   def third_class 
       ThirdClass.new('another string argument',)
   end
 end

The first message in the sequence is a call to an instance of FirstClass, and the part that's tripping me up is how to represent the ThirdClass.new being passed as an argument to the SecondClass initializer.


Solution

  • Basically you just show how and in which order the objects are instantiated and not where they are assigned:

    enter image description here

    So first the ThirdClass is created and then SecondClass where you pass a ThirdClass parameter.

    I don't know the exact Ruby syntax. So the new is a place holder. Other languages require the class name, Python uses __init__, etc. But the dashed arrow line shows that's it's an object creation.