Sha256: b5eb45a8ca239263868d41f018e1186d603f46861d0c24b9cfecc47ce28f0b26

Contents?: true

Size: 509 Bytes

Versions: 3

Compression:

Stored size: 509 Bytes

Contents

# frozen_string_literal: true

module Basic101

  class Line

    include Identity

    attr_reader :line_number
    attr_reader :statements

    def initialize(line_number, statements)
      @line_number = line_number.to_i
      @statements = statements
      link_statements_to_line
    end

    protected

    def state
      [@line_number, @statements]
    end

    private

    def link_statements_to_line
      @statements.each do |statement|
        statement.line = self
      end
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
basic101-1.0.2 lib/basic101/line.rb
basic101-1.0.1 lib/basic101/line.rb
basic101-1.0.0 lib/basic101/line.rb