class Guard::Spring::Runner

Attributes

options[R]
spring_command[W]

Public Class Methods

new(options = {}) click to toggle source
# File lib/guard/spring/runner.rb, line 9
def initialize(options = {})
  @options = options
end

Public Instance Methods

restart() click to toggle source
# File lib/guard/spring/runner.rb, line 23
def restart
  UI.info 'Guard::Spring restarting Spring'
  stop_spring
  start_spring
end
start() click to toggle source
# File lib/guard/spring/runner.rb, line 13
def start
  UI.info 'Guard::Spring starting Spring'
  start_spring
end
stop() click to toggle source
# File lib/guard/spring/runner.rb, line 18
def stop
  UI.info 'Guard::Spring stopping Spring'
  stop_spring
end

Private Instance Methods

bin_stub() click to toggle source
# File lib/guard/spring/runner.rb, line 55
def bin_stub
  './bin/spring'
end
bin_stub_exists?() click to toggle source
# File lib/guard/spring/runner.rb, line 59
def bin_stub_exists?
  File.exist? bin_stub
end
bundler?() click to toggle source
# File lib/guard/spring/runner.rb, line 63
def bundler?
  options.fetch(:bundler, false)
end
environments() click to toggle source
# File lib/guard/spring/runner.rb, line 67
def environments
  options.fetch(:environments, %w(test development))
end
spring_command() click to toggle source
# File lib/guard/spring/runner.rb, line 41
def spring_command
  @spring_command ||= begin
    if options[:cmd]
      options[:cmd]
    elsif bundler?
      'bundle exec spring'
    elsif bin_stub_exists?
      bin_stub
    else
      'spring'
    end
  end
end
start_spring() click to toggle source
# File lib/guard/spring/runner.rb, line 31
def start_spring
  environments.each do |env|
    system "#{spring_command} rake -T RAILS_ENV='#{env}' > /dev/null"
  end
end
stop_spring() click to toggle source
# File lib/guard/spring/runner.rb, line 37
def stop_spring
  system "#{spring_command} stop"
end