Sha256: 71e799cbec244a5babd0a78c2c9d0a86b3a381066a6a3d7b8ba4b9cc7795f768

Contents?: true

Size: 1.35 KB

Versions: 13

Compression:

Stored size: 1.35 KB

Contents

module Expressir
  module Model
    module Declarations
      # Specified in ISO 10303-11:2004
      # - section 9.2.1 Attributes
      class Attribute < Declaration
        include Identifier

        EXPLICIT = :EXPLICIT
        DERIVED = :DERIVED
        INVERSE = :INVERSE

        model_attr_accessor :kind, ":EXPLICIT, :DERIVED, :INVERSE"
        model_attr_accessor :supertype_attribute, "Reference"
        model_attr_accessor :optional, "Boolean"
        model_attr_accessor :type, "DataType"
        model_attr_accessor :expression, "Expression"

        # @param [Hash] options
        # @option (see Identifier#initialize_identifier)
        # @option options [:EXPLICIT, :DERIVED, :INVERSE] :kind
        # @option options [Reference] :supertype_attribute
        # @option options [Boolean] :optional
        # @option options [DataType] :type
        # @option options [Expression] :operand
        def initialize(options = {})
          initialize_identifier(options)

          @kind = options[:kind]
          @supertype_attribute = options[:supertype_attribute]
          @optional = options[:optional]
          @type = options[:type]
          @expression = options[:expression]

          super
        end

        # @return [Array<Declaration>]
        def children
          [
            *remark_items,
          ]
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
expressir-2.1.13 lib/expressir/model/declarations/attribute.rb
expressir-2.1.12 lib/expressir/model/declarations/attribute.rb
expressir-2.1.11 lib/expressir/model/declarations/attribute.rb
expressir-2.1.10 lib/expressir/model/declarations/attribute.rb
expressir-2.1.9 lib/expressir/model/declarations/attribute.rb
expressir-2.1.8 lib/expressir/model/declarations/attribute.rb
expressir-2.1.7 lib/expressir/model/declarations/attribute.rb
expressir-2.1.6 lib/expressir/model/declarations/attribute.rb
expressir-2.1.5 lib/expressir/model/declarations/attribute.rb
expressir-2.1.4 lib/expressir/model/declarations/attribute.rb
expressir-2.1.3 lib/expressir/model/declarations/attribute.rb
expressir-2.1.2 lib/expressir/model/declarations/attribute.rb
expressir-2.1.1 lib/expressir/model/declarations/attribute.rb