Sha256: e6acf8cd72d0295a5a48d5af77c3e99d176908bc8853a9e7a45fca43f792d51b

Contents?: true

Size: 880 Bytes

Versions: 21

Compression:

Stored size: 880 Bytes

Contents

module Expressir
  module Model
    class Attribute < ModelElement
      include Identifier

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

      model_attr_accessor :kind
      model_attr_accessor :supertype_attribute
      model_attr_accessor :optional
      model_attr_accessor :type
      model_attr_accessor :expression

      def initialize(options = {})
        @id = options[:id]
        @remarks = options.fetch(:remarks, [])
        @remark_items = options.fetch(:remark_items, [])
        @source = options[:source]

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

        super
      end

      def children
        [
          *remark_items
        ]
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
expressir-0.2.26 lib/expressir/model/attribute.rb
expressir-0.2.26-x86_64-linux lib/expressir/model/attribute.rb
expressir-0.2.26-x86_64-darwin lib/expressir/model/attribute.rb
expressir-0.2.26-x86-mingw32 lib/expressir/model/attribute.rb
expressir-0.2.26-x86-linux lib/expressir/model/attribute.rb
expressir-0.2.26-x64-mingw32 lib/expressir/model/attribute.rb
expressir-0.2.26-arm64-darwin lib/expressir/model/attribute.rb
expressir-0.2.25 lib/expressir/model/attribute.rb
expressir-0.2.25-x86_64-linux lib/expressir/model/attribute.rb
expressir-0.2.25-x86_64-darwin lib/expressir/model/attribute.rb
expressir-0.2.25-x86-mingw32 lib/expressir/model/attribute.rb
expressir-0.2.25-x86-linux lib/expressir/model/attribute.rb
expressir-0.2.25-x64-mingw32 lib/expressir/model/attribute.rb
expressir-0.2.25-arm64-darwin lib/expressir/model/attribute.rb
expressir-0.2.24 lib/expressir/model/attribute.rb
expressir-0.2.24-x86_64-linux lib/expressir/model/attribute.rb
expressir-0.2.24-x86_64-darwin lib/expressir/model/attribute.rb
expressir-0.2.24-x86-mingw32 lib/expressir/model/attribute.rb
expressir-0.2.24-x86-linux lib/expressir/model/attribute.rb
expressir-0.2.24-x64-mingw32 lib/expressir/model/attribute.rb