# More info at https://github.com/guard/guard#readme

if RUBY_PLATFORM =~ /darwin/
  notification :terminal_notifier, app_name: 'pycall.gem ::', activate: 'com.googlecode.iTerm2'
end

directories %w(config lib spec).select { |d|
  Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")
}

watch('config/Guardfile') do
  UI.info "Exiting guard because config changed"
  exit 0
end

guard :rspec, cmd: 'bin/rspec' do
  require "guard/rspec/dsl"
  dsl = Guard::RSpec::Dsl.new(self)

  # RSpec files
  rspec = dsl.rspec
  watch(rspec.spec_helper) { rspec.spec_dir }
  watch(rspec.spec_support) { rspec.spec_dir }
  watch(rspec.spec_files)

  # Ruby files
  ruby = dsl.ruby
  dsl.watch_spec_files_for(ruby.lib_files)
  watch('lib/pycall/libpython.rb') { 'spec' }
end
