読者です 読者をやめる 読者になる 読者になる

( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

Rspecでfailするとデスメタルが流れるようにした

このような事があったので自動化した。
Mac限定。


こんな感じ。successだとレベルがアガる。

事前にbash-itunes というコマンドラインツールを入れておく。
iTunesを日本語で使ってる場合、patchを当てる必要がある。
こちらを山椒

コードはこれな。

class PlayItunesReporter
  attr_accessor :success_track, :failure_track
  def initialize(options = {})
    @success_track = options[:success]
    @failure_track = options[:failure]
  end

  def dump_summary(notification)
    return unless notification.examples.length > 0

    if notification.failed_examples.length == 0
      play!(success_track)
    else
      play!(failure_track)
    end
  end

  def play!(track)
    `itunes play "#{track}"`
  end
end


RSpec.configure do |config|

  itunes = PlayItunesReporter.new(success: "レベル・アップ", failure: 'Nemesis')
  config.reporter.register_listener itunes, :dump_summary
end

正直、曲は好きなの使えばいい。なんならこれでもいい

inspired by : コンパイル中に音楽を流せる sbt プラグインを作りました。 - tototoshi の日記