Sha256: 1468e03a13def403e5eccc2b9c29d4a88af6b54fc309b73c720f7d6310f3b61a

Contents?: true

Size: 1.76 KB

Versions: 33

Compression:

Stored size: 1.76 KB

Contents

# frozen_string_literal: true

require "lutaml/uml/class"
require "lutaml/uml/data_type"
require "lutaml/uml/enum"
require "lutaml/uml/diagram"
require "lutaml/uml/package"
require "lutaml/uml/primitive_type"

module Lutaml
  module Uml
    class Document
      include HasAttributes
      include HasMembers

      attr_accessor :name,
                    :title,
                    :caption,
                    :groups,
                    :fidelity,
                    :fontname,
                    :comments
      attr_reader :packages

      # rubocop:disable Rails/ActiveRecordAliases
      def initialize(attributes = {})
        update_attributes(attributes)
      end
      # rubocop:enable Rails/ActiveRecordAliases
      def classes=(value)
        @classes = value.to_a.map { |attributes| Class.new(attributes) }
      end

      def data_types=(value)
        @data_types = value.to_a.map { |attributes| DataType.new(attributes) }
      end

      def enums=(value)
        @enums = value.to_a.map { |attributes| Enum.new(attributes) }
      end

      def packages=(value)
        @packages = value.to_a.map { |attributes| Package.new(attributes) }
      end

      def primitives=(value)
        @primitives = value.to_a.map { |attributes| PrimitiveType.new(attributes) }
      end

      def associations=(value)
        @associations = value.to_a.map do |attributes|
          Association.new(attributes)
        end
      end

      def classes
        @classes || []
      end

      def enums
        @enums || []
      end

      def data_types
        @data_types || []
      end

      def packages
        @packages || []
      end

      def primitives
        @primitives || []
      end

      def associations
        @associations || []
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
lutaml-0.9.27 lib/lutaml/uml/document.rb
lutaml-0.9.26 lib/lutaml/uml/document.rb
lutaml-0.9.25 lib/lutaml/uml/document.rb
lutaml-0.9.24 lib/lutaml/uml/document.rb
lutaml-0.9.23 lib/lutaml/uml/document.rb
lutaml-0.9.22 lib/lutaml/uml/document.rb
lutaml-0.9.21 lib/lutaml/uml/document.rb
lutaml-0.9.20 lib/lutaml/uml/document.rb
lutaml-0.9.19 lib/lutaml/uml/document.rb
lutaml-0.9.18 lib/lutaml/uml/document.rb
lutaml-0.9.17 lib/lutaml/uml/document.rb
lutaml-0.9.16 lib/lutaml/uml/document.rb
lutaml-0.9.15 lib/lutaml/uml/document.rb
lutaml-0.9.14 lib/lutaml/uml/document.rb
lutaml-0.9.13 lib/lutaml/uml/document.rb
lutaml-0.9.12 lib/lutaml/uml/document.rb
lutaml-0.9.11 lib/lutaml/uml/document.rb
lutaml-0.9.10 lib/lutaml/uml/document.rb
lutaml-0.9.9 lib/lutaml/uml/document.rb
lutaml-0.9.8 lib/lutaml/uml/document.rb