3
votes

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.

1
My Ruby is rusted. Is it that third_class returns the new object of type ThirdClass?qwerty_so

1 Answers

2
votes

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.