Sha256: bbcd4c75b1d09d16bfb4e68d942402146e7c00afd4af8bc9225ae7219d27e54c

Contents?: true

Size: 721 Bytes

Versions: 7

Compression:

Stored size: 721 Bytes

Contents

module Expressir
  module Model
    class Type
      include Scope
      include Identifier

      attr_accessor :type
      attr_accessor :where
      attr_accessor :informal_propositions

      def initialize(options = {})
        @id = options[:id]

        @type = options[:type]
        @where = options[:where]
        @informal_propositions = options[:informal_propositions]
      end

      def children
        items = []
        items.push(*[
          *if @type.instance_of? Expressir::Model::Types::Enumeration
            @type.items
          end
        ])
        items.push(*@where) if @where
        items.push(*@informal_propositions) if @informal_propositions
        items
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
expressir-0.2.9 lib/expressir/model/type.rb
expressir-0.2.9-x86_64-linux lib/expressir/model/type.rb
expressir-0.2.9-x86_64-darwin lib/expressir/model/type.rb
expressir-0.2.9-x86-mingw32 lib/expressir/model/type.rb
expressir-0.2.9-x86-linux lib/expressir/model/type.rb
expressir-0.2.9-x64-mingw32 lib/expressir/model/type.rb
expressir-0.2.9-arm64-darwin lib/expressir/model/type.rb