Sha256: 109b67c6e32e4754afcdf923672e08793facca83728dc46ae9199c97e8681050

Contents?: true

Size: 1.09 KB

Versions: 8

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module Lutaml
  module Uml
    class TopElement
      include HasAttributes

      attr_accessor :name,
                    :xmi_id,
                    :xmi_uuid,
                    :namespace,
                    :keyword,
                    :stereotype,
                    :href,
                    :visibility,
                    :comments

      # rubocop:disable Rails/ActiveRecordAliases
      def initialize(attributes = {})
        @visibility = "public"
        @name = attributes["name"]
        update_attributes(attributes)
      end
      # rubocop:enable Rails/ActiveRecordAliases

      def full_name
        if name == nil
          return nil
        end

        the_name = name
        next_namespace = namespace

        while !next_namespace.nil?
          the_name = if !next_namespace.name.nil?
                       next_namespace.name + "::" + the_name
                     else
                       "::" + the_name
                     end
          next_namespace = next_namespace.namespace
        end

        the_name
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
lutaml-uml-0.2.7 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.6 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.5 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.4 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.3 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.2 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.1 lib/lutaml/uml/top_element.rb
lutaml-uml-0.2.0 lib/lutaml/uml/top_element.rb