Sha256: 62a91216620fc33e8ffe17070c76828494a7fca90f0c67726454083e1bcd94b3

Contents?: true

Size: 1016 Bytes

Versions: 21

Compression:

Stored size: 1016 Bytes

Contents

module Expressir
  module Model
    module Statements
      class Repeat < ModelElement
        include Identifier

        model_attr_accessor :bound1
        model_attr_accessor :bound2
        model_attr_accessor :increment
        model_attr_accessor :while_expression
        model_attr_accessor :until_expression
        model_attr_accessor :statements

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

          @bound1 = options[:bound1]
          @bound2 = options[:bound2]
          @increment = options[:increment]
          @while_expression = options[:while_expression]
          @until_expression = options[:until_expression]
          @statements = options.fetch(:statements, [])

          super
        end

        def children
          [
            self,
            *remark_items
          ]
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
expressir-0.2.24-arm64-darwin lib/expressir/model/statements/repeat.rb