blambeau/qrb

View on GitHub
lib/finitio/syntax/type/tuple_type.rb

Summary

Maintainability
A
25 mins
Test Coverage
module Finitio
  module Syntax
    module TupleType
      include Node

      capture :heading

      def compile(factory)
        factory.send(kind, heading.compile(factory))
      end

      def to_ast
        [ :"#{kind}_type", heading.to_ast ]
      end

    private

      def kind
        heading.multi? ? :multi_tuple : :tuple
      end

    end # module TupleType
  end # module Syntax
end # module Finitio