Sha256: 7b89c056d0fb8f956c32859b333efa37a5d0c9bd28ef67934c82c677d03afb99

Contents?: true

Size: 1.51 KB

Versions: 12

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

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

module Lutaml
  module Uml
    class Document
      include HasAttributes
      include HasMembers

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

      # 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 enums=(value)
        @enums = value.to_a.map { |attributes| Enum.new(attributes) }
      end

      def data_types=(value)
        @data_types = value.to_a.map { |attributes| DataType.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 primitives
        @primitives || []
      end

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

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
lutaml-uml-0.2.12 lib/lutaml/uml/document.rb
lutaml-uml-0.2.10 lib/lutaml/uml/document.rb
lutaml-uml-0.2.9 lib/lutaml/uml/document.rb
lutaml-uml-0.2.8 lib/lutaml/uml/document.rb
lutaml-uml-0.2.7 lib/lutaml/uml/document.rb
lutaml-uml-0.2.6 lib/lutaml/uml/document.rb
lutaml-uml-0.2.5 lib/lutaml/uml/document.rb
lutaml-uml-0.2.4 lib/lutaml/uml/document.rb
lutaml-uml-0.2.3 lib/lutaml/uml/document.rb
lutaml-uml-0.2.2 lib/lutaml/uml/document.rb
lutaml-uml-0.2.1 lib/lutaml/uml/document.rb
lutaml-uml-0.2.0 lib/lutaml/uml/document.rb