Sha256: 21ddde48e6e4b39c0f60086952a6e46d3f7e09d148f88fdbee627873c81751e2

Contents?: true

Size: 799 Bytes

Versions: 2

Compression:

Stored size: 799 Bytes

Contents

# typed: strict

require 'guard/compat/plugin'
require 'sorbet-runtime'

module Guard
  class Sorbet < Plugin
    extend T::Sig

    sig {params(options: T.untyped).void}
    def initialize(options = nil)
      super(options)

      @version = T.let('0.0.1', String)
      @sorbet_version = T.let(Gem.loaded_specs['sorbet'].version.to_s, String)
    end

    sig {void}
    def run_all
      Compat::UI.info "Guard::Sorbet #{@version} is running, with Sorbet #{@sorbet_version}"
      srb_path = Gem.bin_path 'sorbet', 'srb'
      if !system(srb_path)
        Compat::UI.error "srb failed"
        throw :task_has_failed
      end
    end

    sig {void}
    def start
      run_all
    end

    sig {params(_: T::Array[String]).void}
    def run_on_modifications(_)
      run_all
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
guard-sorbet-0.5.0 lib/guard/sorbet.rb
guard-sorbet-0.0.1 lib/guard/sorbet.rb