class Lutaml::Uml::Node::ClassNode

Attributes

members[R]
modifier[R]

Public Instance Methods

class_relationships() click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 51
def class_relationships
  @members.select { |member| member.class == ClassRelationship }
end
fields() click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 39
def fields
  @members.select { |member| member.class == Field }
end
members=(value) click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 24
def members=(value)
  @members = value.to_a.map do |member|
    type       = member.to_a[0][0] # TODO: This is dumb
    attributes = member.to_a[0][1]
    attributes[:parent] = self

    case type
    when :field              then Field.new(attributes)
    when :method             then Method.new(attributes)
    when :relationship       then Relationship.new(attributes)
    when :class_relationship then ClassRelationship.new(attributes)
    end
  end
end
methods() click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 43
def methods
  @members.select { |member| member.class == Method }
end
modifier=(value) click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 18
def modifier=(value)
  @modifier = value.to_s # TODO: Validate?
end
relationships() click to toggle source
# File lib/lutaml/uml/node/class_node.rb, line 47
def relationships
  @members.select { |member| member.class == Relationship }
end