Skip to content
Permalink
Browse files

Merge branch 'issue1456' into issue1456php

  • Loading branch information...
fjtheknight committed Jun 4, 2019
2 parents fdd5b83 + 3ec5fa9 commit b8ccf81ff23b40057849342460bd14fefbcf1b82
Showing with 69 additions and 75 deletions.
  1. +1 −1 UmpleToRuby/UmpleTLTemplates/constructor_AssociationAssignImmutableOptionalMany.ump
  2. +1 −1 UmpleToRuby/UmpleTLTemplates/constructor_AssociationAssignImmutableOptionalN.ump
  3. +2 −2 UmpleToRuby/UmpleTLTemplates/constructor_AssociationAssignMandatoryMany.ump
  4. +1 −1 UmpleToRuby/UmpleTLTemplates/constructor_AssociationAssignOne.ump
  5. +1 −1 UmpleToRuby/UmpleTLTemplates/constructor_AssociationAssignUndirectionalOne.ump
  6. +1 −1 UmpleToRuby/UmpleTLTemplates/constructor_AttributeAssignUnique.ump
  7. +4 −4 build/reference/0604traits_template_parameters.txt
  8. +3 −4 build/reference/3601Methods.txt
  9. +4 −5 build/reference/3610GenerationTemplates.txt
  10. +3 −3 build/reference/3670BasicStructureDiagrams.txt
  11. +4 −5 build/reference/4001AspectOriented.txt
  12. +4 −4 build/reference/4301Filters.txt
  13. +4 −6 build/reference/4505TracingConstraints.txt
  14. +3 −3 build/reference/4506TracingMethods.txt
  15. +4 −5 build/reference/4507Tracers.txt
  16. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ClassTemplateTest_Attributes.ruby.txt
  17. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ClassTemplateTest_Import2.ruby.txt
  18. +4 −4 cruise.umple/test/cruise/umple/implementation/ruby/CodeInjectionTest_Association.ruby.txt
  19. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalMNTest.ruby.txt
  20. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalMStarTest.ruby.txt
  21. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalManyTest.ruby.txt
  22. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalNTest.ruby.txt
  23. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalOneTest.ruby.txt
  24. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ImmutableUnidirectionalOptionalNTest.ruby.txt
  25. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ManyToMNTest_Many.ruby.txt
  26. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ManyToMStarTest_Many.ruby.txt
  27. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ManyToNTest_Many.ruby.txt
  28. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToMNTest_MN.ruby.txt
  29. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToMandatoryManyTest_Many.ruby.txt
  30. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToManyTest_Many.ruby.txt
  31. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToNTest_N.ruby.txt
  32. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToOptionalNTest_OptionalN.ruby.txt
  33. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OneToOptionalOneTest_Subordinate.ruby.txt
  34. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OptionalOneToMNTest_One.ruby.txt
  35. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OptionalOneToMStarTest_One.ruby.txt
  36. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/OptionalOneToNTest_One.ruby.txt
  37. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/ReflexiveAssociationTest_OneToMany.ruby.txt
  38. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/UnidirectionalMNTest_Aware.ruby.txt
  39. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/UnidirectionalMStarTest_Aware.ruby.txt
  40. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/UnidirectionalNTest_Aware.ruby.txt
  41. +1 −1 cruise.umple/test/cruise/umple/implementation/ruby/UnidirectionalOneTest_Aware.ruby.txt
@@ -2,5 +2,5 @@ class UmpleToRuby {
constructor_AssociationAssignImmutableOptionalMany <<!<</*constructor_AssociationAssignImmutableOptionalMany*/>>
@<<=gen.translate("associationMany",av)>> = []
<<=gen.translate("didAddMany",av)>> = <<=gen.translate("setManyMethod",av)>>(<<=gen.translate("parameterAll",av)>>)
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must not have duplicate @<<=gen.translate("associationMany",av)>>" unless <<=gen.translate("didAddMany",av)>>!>>
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must not have duplicate @<<=gen.translate("associationMany",av)>>. See http://manual.umple.org?RE001ViolationofImmutability.html" unless <<=gen.translate("didAddMany",av)>>!>>
}
@@ -2,5 +2,5 @@ class UmpleToRuby {
constructor_AssociationAssignImmutableOptionalN <<!<</*constructor_AssociationAssignImmutableOptionalN*/>><<# String requiredNumber = "" + av.getMultiplicity().getUpperBound(); #>>
@<<=gen.translate("associationMany",av)>> = []
<<=gen.translate("didAddMany",av)>> = <<=gen.translate("setManyMethod",av)>>(<<=gen.translate("parameterAll",av)>>)
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must have <<=requiredNumber>> or fewer @<<=gen.translate("associationMany",av)>>, no duplicates" unless <<=gen.translate("didAddMany",av)>>!>>
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must have <<=requiredNumber>> or fewer @<<=gen.translate("associationMany",av)>>, no duplicates. See http://manual.umple.org?RE001ViolationofImmutability.html" unless <<=gen.translate("didAddMany",av)>>!>>
}
@@ -17,5 +17,5 @@ class UmpleToRuby {
#>>
@<<=gen.translate("associationMany",av)>> = []
<<=gen.translate("didAddMany",av)>> = <<=gen.translate("setManyMethod",av)>>(<<=gen.translate("parameterAll",av)>>)
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must have <<=requiredNumber>> @<<=gen.translate("associationMany",av)>>" unless <<=gen.translate("didAddMany",av)>>!>>
}
raise "Unable to create <<=gen.relatedTranslate("type",av)>>, must have <<=requiredNumber>> @<<=gen.translate("associationMany",av)>>. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless <<=gen.translate("didAddMany",av)>>!>>
}
@@ -2,5 +2,5 @@ class UmpleToRuby {
constructor_AssociationAssignOne <<!<</*constructor_AssociationAssignOne*/>>
@<<=gen.translate("associationOne",av)>> = nil
<<=gen.translate("didAdd",av)>> = <<=gen.translate("setMethod",av)>>(<<=gen.translate("parameterOne",av)>>)
raise "Unable to create <<=gen.relatedTranslate("associationOne",av)>> due to @<<=gen.translate("associationOne",av)>>" unless <<=gen.translate("didAdd",av)>>!>>
raise "Unable to create <<=gen.relatedTranslate("associationOne",av)>> due to @<<=gen.translate("associationOne",av)>>. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless <<=gen.translate("didAdd",av)>>!>>
}
@@ -1,6 +1,6 @@
class UmpleToRuby {
constructor_AssociationAssignUndirectionalOne <<!<</*constructor_AssociationAssignUndirectionalOne*/>>
unless <<=gen.translate("setMethod",av)>>(<<=gen.translate("parameterOne",av)>>)
raise "Unable to create <<=gen.relatedTranslate("type",av)>> due to <<=gen.translate("parameterOne",av)>>"
raise "Unable to create <<=gen.relatedTranslate("type",av)>> due to <<=gen.translate("parameterOne",av)>>. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"
end!>>
}
@@ -2,6 +2,6 @@ class UmpleToRuby {
constructor_AttributeAssignUnique <<!<</*constructor_AttributeAssignUnique*/>>
@<<=av.getName()>> = nil
if (!<<=gen.translate("setMethod", av)>>(<<=gen.translate("parameterOne", av)>>))
raise ArgumentError, 'Cannot create due to duplicate <<=av.getName()>>'
raise ArgumentError, 'Cannot create due to duplicate <<=av.getName()>>. See http://manual.umple.org?RE003ViolationofUniqueness.html'
end!>>
}
@@ -41,6 +41,9 @@ Umple introduces a special syntax to allow having template parameters that can b
The <b>example 3</b> shows how a template parameter is used in the body of a method. As seen, trait T1 has a template parameter named TP (line 4). The provided method method2() needs to return a string which is a combination of calling the required method method1() and a method named process() from the template parameter TP. In the body of the provided method method2(), an instance of the template parameter needs to be created so as to call the method process(). This is achieved by having the name of template parameter encompassed by '#' in places that require types (line 7). The rest needs to follow the syntax of the language used to implement the code blocks, in this case, Java. Class C2 uses trait T1 and binds class C1 to the template parameter TP (line 15). It also implements the required method method1() in order to able to use the trait.
</p>

@@syntax
[[traitParameters]] [[traitFullParameters]] [[traitParametersInterface]]

@@example @@caption Example 1 @@endcaption
@@source manualexamples/traits_example_006.ump
@@endexample
@@ -51,7 +54,4 @@ The <b>example 3</b> shows how a template parameter is used in the body of a met

@@example @@caption Example 3 @@endcaption
@@source manualexamples/traits_example_008.ump
@@endexample

@@syntax
[[traitParameters]] [[traitFullParameters]] [[traitParametersInterface]]
@@endexample
@@ -11,6 +11,9 @@ with arbitrary methods written in the natively compiled language (e.g. Java, Php

<p>A standard Umple method will specify the return type, then the name, then the argument list and finally the method body in curly brackets. The generated output for the method will use correct format for the generated language and will be public.

@@syntax
[[concreteMethodDeclaration]] [[methodDeclarator]] [[parameterList]] [[parameter]]

@@example @@caption Example of a method with no arguments @@endcaption
@@source manualexamples/MethodDefinition1.ump
@@endexample
@@ -19,10 +22,6 @@ with arbitrary methods written in the natively compiled language (e.g. Java, Php
@@source manualexamples/MethodDefinition2.ump
@@endexample


@@example @@caption Example of a public method @@endcaption
@@source manualexamples/MethodDefinition3.ump
@@endexample

@@syntax
[[concreteMethodDeclaration]] [[methodDeclarator]] [[parameterList]] [[parameter]]
@@ -73,6 +73,9 @@ The first two examples below show how simple templates can be used to output str
Umple&#39;s mixin capability allows templates to be kept in separate files. This can faciliatate reuse.
</p>

@@syntax
[[templateAttributeDefinition]] [[templateName]] [[templateAttribute]] [[templateAttributeContent]] [[templateExpression]] [[templateComment]] [[templateCodeBlock]] [[templateText]] [[emitMethod]] [[templateList]] [[templatePrameter]]

@@example @@caption Example 1 @@endcaption
@@source manualexamples/BasicTemplates1.ump
@@endexample
@@ -81,10 +84,6 @@ Umple&#39;s mixin capability allows templates to be kept in separate files. This
@@source manualexamples/BasicTemplates2.ump
@@endexample


@@example @@caption Example 3 @@endcaption
@@source manualexamples/BasicTemplates3.ump
@@endexample

@@syntax
[[templateAttributeDefinition]] [[templateName]] [[templateAttribute]] [[templateAttributeContent]] [[templateExpression]] [[templateComment]] [[templateCodeBlock]] [[templateText]] [[emitMethod]] [[templateList]] [[templatePrameter]]
@@endexample
@@ -28,9 +28,9 @@ noreferences

<p>See also the <a href="http://en.wikipedia.org/wiki/Composite_structure_diagram">Wikipedia page on Composite Structure Diagrams</a>.</p>

@@syntax
[[portDefinition]] [[typedPortName]] [[portMultiplicity]] [[portBindingDefinition]] [[bindinHandler]] [[activeMethodDefinition]] [[portWatch]] [[activeMethodDeclarator]] [[activeMethodBody]] [[activeDirectionHandler]] [[activeTrigger]] [[activeDirectionHandler]] [[activeTriggerBody]] [[deferredList]] [[activeTriggerDefinition]] [[thenDefinition]] [[resolveDefinition]] [[hitchConstraint]] [[constraintList]] [[basicConstraint]] [[timeConstraint]] [[messageConstraint]] [[invoke]] [[anonymousTriggerBody]] [[primitiveDefinition]]

@@example
@@source PingPong.ump &diagramtype=structure&generateDefault=cpp
@@endexample

@@syntax
[[portDefinition]] [[typedPortName]] [[portMultiplicity]] [[portBindingDefinition]] [[bindinHandler]] [[activeMethodDefinition]] [[portWatch]] [[activeMethodDeclarator]] [[activeMethodBody]] [[activeDirectionHandler]] [[activeTrigger]] [[activeDirectionHandler]] [[activeTriggerBody]] [[deferredList]] [[activeTriggerDefinition]] [[thenDefinition]] [[resolveDefinition]] [[hitchConstraint]] [[constraintList]] [[basicConstraint]] [[timeConstraint]] [[messageConstraint]] [[invoke]] [[anonymousTriggerBody]] [[primitiveDefinition]]
@@ -18,6 +18,9 @@ after the constructor.</p>

<p><a href="InterfacingtoExternalCode.html">See also this example of using aspect-orientation to help interface Umple with existing libraries.</a>

@@syntax
[[codeInjection]] [[beforeCode]] [[afterCode]]

@@example @@caption Example with &quot;after&quot; statement @@endcaption
@@source manualexamples/BeforeandAfterStatements1.ump
@@endexample
@@ -28,8 +31,4 @@ after the constructor.</p>

@@example @@caption Example with both &quot;before&quot; and &quot;after&quot; statements @@endcaption
@@source manualexamples/BeforeandAfterStatements3.ump
@@endexample

@@syntax

[[codeInjection]] [[beforeCode]] [[afterCode]]
@@endexample
@@ -22,9 +22,9 @@ noreferences

<p>Load the example below into UmpleOnline and uncomment any of the 8 filter statements, one at at a time, to see the effect of filtering. The comment just before each filter statement describes the effect. Note that the named filters described as Filter 7 have been left uncommented as they are ignored until the un-named filter following them is activated.</p>

@@syntax
[[filter]] [[filterStatement]] [[filterCombinedValue]] [[filterNamespace]] [[filterValue]] [[hops]] [[super]] [[sub]] [[association]]

@@example
@@source manualexamples/Filters-Shape3D-1.ump
@@endexample

@@syntax
[[filter]] [[filterStatement]] [[filterCombinedValue]] [[filterNamespace]] [[filterValue]] [[hops]] [[super]] [[sub]] [[association]]
@@endexample
@@ -27,6 +27,9 @@ There are two cases. (1) trace the UML construct from its creation and stop when
</ul>
</p>

@@syntax
[[PreOrPostCondition]] [[traceWhere]] [[traceGiving]] [[traceCondition]] [[traceFor]] [[traceUntil]] [[traceAfter]] [[constraint]]

@@example @@caption Conditions and Number of Occurences @@endcaption
@@source manualexamples/TracingConstraints1.ump
@@endexample
@@ -35,11 +38,6 @@ There are two cases. (1) trace the UML construct from its creation and stop when
@@source manualexamples/TracingConstraints2.ump
@@endexample


@@example @@caption Life Timeline @@endcaption
@@source manualexamples/TracingConstraints3.ump
@@endexample

@@syntax

[[PreOrPostCondition]] [[traceWhere]] [[traceGiving]] [[traceCondition]] [[traceFor]] [[traceUntil]] [[traceAfter]] [[constraint]]
@@endexample
@@ -13,13 +13,13 @@ Tracing non api methods is possible using MOTL. Entry and/or exit of methods can
</ul>
</p>

@@syntax
[[traceDirective]] [[traceItem]] [[traceOption]]

@@example @@caption Method Entry @@endcaption
@@source manualexamples/TracingMethods1.ump
@@endexample

@@example @@caption Method Exit @@endcaption
@@source manualexamples/TracingMethods2.ump
@@endexample

@@syntax
[[traceDirective]] [[traceItem]] [[traceOption]]
@@ -28,6 +28,9 @@ MOTL tracers can be classified into two main categories: Built in tracers and th
</ol>
</p>

@@syntax
[[traceType]] [[log4jConfig]]

@@example @@caption File tracer @@endcaption
@@source manualexamples/Tracers1.ump
@@endexample
@@ -46,8 +49,4 @@ MOTL tracers can be classified into two main categories: Built in tracers and th

@@example @@caption log4j tracer with customized log4j xml configuration file @@endcaption
@@source manualexamples/Tracers4.ump
@@endexample

@@syntax

[[traceType]] [[log4jConfig]]
@@endexample
@@ -62,7 +62,7 @@ class Mentor
@@next_x += 1
@id = nil
if (!set_id(a_id))
raise ArgumentError, 'Cannot create due to duplicate id'
raise ArgumentError, 'Cannot create due to duplicate id. See http://manual.umple.org?RE003ViolationofUniqueness.html'
end
@initialized = true
end
@@ -28,7 +28,7 @@ class Student
@number = a_number
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must have at least 1 @mentors" unless did_add_mentors
raise "Unable to create Student, must have at least 1 @mentors. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentors
@courses = []
@initialized = true
end
@@ -25,16 +25,16 @@ class Student
@m1 = nil
@m2 = nil
did_add_m2 = set_m2(a_m2)
raise "Unable to create two due to @m2" unless did_add_m2
raise "Unable to create two due to @m2. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_m2
@m3s = []
did_add_m3s = set_m3s(all_m3s)
raise "Unable to create Student, must have 1 to 3 @m3s" unless did_add_m3s
raise "Unable to create Student, must have 1 to 3 @m3s. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_m3s
@m4s = []
did_add_m4s = set_m4s(all_m4s)
raise "Unable to create Student, must have 4 to 7 @m4s" unless did_add_m4s
raise "Unable to create Student, must have 4 to 7 @m4s. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_m4s
@m5s = []
did_add_m5s = set_m5s(all_m5s)
raise "Unable to create Student, must have at least 2 @m5s" unless did_add_m5s
raise "Unable to create Student, must have at least 2 @m5s. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_m5s
@m6s = []
@initialized = true
end
@@ -30,7 +30,7 @@ class Student
@can_set_mentors = true
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must have 2 to 4 @mentors" unless did_add_mentors
raise "Unable to create Student, must have 2 to 4 @mentors. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentors
@initialized = true
end

@@ -30,7 +30,7 @@ class Student
@can_set_mentors = true
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must have at least 1 @mentors" unless did_add_mentors
raise "Unable to create Student, must have at least 1 @mentors. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentors
@initialized = true
end

@@ -30,7 +30,7 @@ class Student
@can_set_mentors = true
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must not have duplicate @mentors" unless did_add_mentors
raise "Unable to create Student, must not have duplicate @mentors. See http://manual.umple.org?RE001ViolationofImmutability.html" unless did_add_mentors
@initialized = true
end

@@ -30,7 +30,7 @@ class Student
@can_set_mentors = true
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must have 3 @mentors" unless did_add_mentors
raise "Unable to create Student, must have 3 @mentors. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentors
@initialized = true
end

@@ -29,7 +29,7 @@ class Student
@can_set_number = false
@can_set_mentor = true
unless set_mentor(a_mentor)
raise "Unable to create Student due to a_mentor"
raise "Unable to create Student due to a_mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html"
end
@initialized = true
end
@@ -30,7 +30,7 @@ class Student
@can_set_mentors = true
@mentors = []
did_add_mentors = set_mentors(all_mentors)
raise "Unable to create Student, must have 3 or fewer @mentors, no duplicates" unless did_add_mentors
raise "Unable to create Student, must have 3 or fewer @mentors, no duplicates. See http://manual.umple.org?RE001ViolationofImmutability.html" unless did_add_mentors
@initialized = true
end

@@ -28,7 +28,7 @@ class Mentor
@name = a_name
@students = []
did_add_students = set_students(all_students)
raise "Unable to create Mentor, must have 3 to 4 @students" unless did_add_students
raise "Unable to create Mentor, must have 3 to 4 @students. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_students
@initialized = true
end

@@ -28,7 +28,7 @@ class Mentor
@name = a_name
@students = []
did_add_students = set_students(all_students)
raise "Unable to create Mentor, must have at least 4 @students" unless did_add_students
raise "Unable to create Mentor, must have at least 4 @students. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_students
@initialized = true
end

@@ -28,7 +28,7 @@ class Mentor
@name = a_name
@students = []
did_add_students = set_students(all_students)
raise "Unable to create Mentor, must have 2 @students" unless did_add_students
raise "Unable to create Mentor, must have 2 @students. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_students
@initialized = true
end

@@ -28,7 +28,7 @@ class Pupil
@number = a_number
@mentor = nil
did_add_mentor = set_mentor(a_mentor)
raise "Unable to create pupil due to @mentor" unless did_add_mentor
raise "Unable to create pupil due to @mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentor
@initialized = true
end

@@ -28,7 +28,7 @@ class Student
@number = a_number
@mentor = nil
did_add_mentor = set_mentor(a_mentor)
raise "Unable to create student due to @mentor" unless did_add_mentor
raise "Unable to create student due to @mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentor
@initialized = true
end

@@ -28,7 +28,7 @@ class Student
@number = a_number
@mentor = nil
did_add_mentor = set_mentor(a_mentor)
raise "Unable to create student due to @mentor" unless did_add_mentor
raise "Unable to create student due to @mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentor
@initialized = true
end

@@ -28,7 +28,7 @@ class Student
@number = a_number
@mentor = nil
did_add_mentor = set_mentor(a_mentor)
raise "Unable to create student due to @mentor" unless did_add_mentor
raise "Unable to create student due to @mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentor
@initialized = true
end

@@ -28,7 +28,7 @@ class Student
@number = a_number
@mentor = nil
did_add_mentor = set_mentor(a_mentor)
raise "Unable to create student due to @mentor" unless did_add_mentor
raise "Unable to create student due to @mentor. See http://manual.umple.org?RE002ViolationofAssociationMultiplicity.html" unless did_add_mentor
@initialized = true
end

0 comments on commit b8ccf81

Please sign in to comment.
You can’t perform that action at this time.