Sha256: 0244ca93a4b0c51f8660b7b376faaaf1b613e0ffbd6de67b7745f56de8d83507

Contents?: true

Size: 695 Bytes

Versions: 9

Compression:

Stored size: 695 Bytes

Contents

# typed: true
# frozen_string_literal: true

require 'pathname'
require 'shellwords'

module Tapioca
  module Compilers
    module Sorbet
      SORBET = Pathname.new(Gem::Specification.find_by_name("sorbet-static").full_gem_path) / "libexec" / "sorbet"

      class << self
        extend(T::Sig)

        sig { params(args: String).returns(String) }
        def run(*args)
          IO.popen(
            [
              sorbet_path,
              "--quiet",
              *args,
            ].join(' '),
            err: "/dev/null"
          ).read
        end

        sig { returns(String) }
        def sorbet_path
          SORBET.to_s.shellescape
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
tapioca-0.4.15 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.14 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.13 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.12 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.11 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.10 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.9 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.8 lib/tapioca/compilers/sorbet.rb
tapioca-0.4.7 lib/tapioca/compilers/sorbet.rb