Sha256: 305d9ad57759e189f9ea7202ad8526f36f548bf6a453404a29016cb6dd486fca

Contents?: true

Size: 503 Bytes

Versions: 13

Compression:

Stored size: 503 Bytes

Contents

# frozen_string_literal: true

class Language
  class Atom
    class Then < Atom
      def initialize(parent:, block:)
        @parent = parent
        @block = block
      end

      def parse(parser)
        @parent.parse(parser)

        if parser.output.nil?
          parser.buffer = @block.call(parser.buffer)
        else
          parser.output = Output.from_raw(@block.call(parser.output.to_raw))
        end
      end

      def to_s
        "(#{@parent}).then {}"
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
language-ruby-1.1.2 lib/language/atom/then.rb
language-ruby-1.1.0 lib/language/atom/then.rb
language-ruby-1.0.1 lib/language/atom/then.rb
language-ruby-1.0.0 lib/language/atom/then.rb
language-ruby-0.9.3 lib/language/atom/then.rb
language-ruby-0.9.2 lib/language/atom/then.rb
language-ruby-0.9.0 lib/language/atom/then.rb
language-ruby-0.8.4 lib/language/atom/then.rb
language-ruby-0.8.3 lib/language/atom/then.rb
language-ruby-0.8.2 lib/language/atom/then.rb
language-ruby-0.8.1 lib/language/atom/then.rb
language-ruby-0.8.0 lib/language/atom/then.rb
language-ruby-0.7.0 lib/language/atom/then.rb