def start
      if Jasmine.phantomjs_bin_valid?(options[:phantomjs_bin])

        Server.start(options) unless options[:server] == :none

        run_all if Jasmine.runner_available?(options) && options[:all_on_start]
      else
        throw :task_has_failed
      end
    end
def start
      if Jasmine.phantomjs_bin_valid?(options[:phantomjs_bin])

        Server.start(options) unless options[:server] == :none

        run_all if Jasmine.runner_available?(options) && options[:all_on_start]
      else
        throw :task_has_failed
      end
    end
Initialize Guard::Jasmine.

 @param [Hash] options the options for the Guard
 @option options [String] :server the server to use, either :auto, :none, :webrick, :mongrel, :thin, :jasmine_gem, or a custom rake task
 @option options [String] :server_env the server environment to use, for example :development, :test
 @option options [Integer] :server_timeout the number of seconds to wait for the Jasmine spec server
 @option options [String] :port the port for the Jasmine test server
 @option options [String] :rackup_config custom rackup config to use
 @option options [String] :server_mount custom mount point to use; defaults to '/specs' if JasmineRails is on the load path, otherwise '/jasmine'
 @option options [String] :jasmine_url the url of the Jasmine test runner
 @option options [String] :phantomjs_bin the location of the PhantomJS binary
 @option options [Integer] :timeout the maximum time in seconds to wait for the spec runner to finish
 @option options [String] :spec_dir the directory with the Jasmine specs
 @option options [Boolean] :notification show notifications
 @option options [Boolean] :hide_success hide success message notification
 @option options [Integer] :max_error_notify maximum error notifications to show
 @option options [Boolean] :all_on_start run all suites on start
 @option options [Boolean] :keep_failed keep failed suites and add them to the next run again
 @option options [Boolean] :clean clean the specs according to rails naming conventions
 @option options [Boolean] :all_after_pass run all suites after a suite has passed again after failing
 @option options [Symbol] :specdoc options for the specdoc output, either :always, :never or :failure
 @option options [Symbol] :console options for the console.log output, either :always, :never or :failure
 @option options [Symbol] :errors options for the errors output, either :always, :never or :failure
 @option options [Symbol] :focus options for focus on failures in the specdoc
 @option options [Symbol] :coverage options for enable coverage support
 @option options [Symbol] :coverage_html options for enable coverage html support
 @option options [Symbol] :coverage_summary options for enable coverage summary support
 @option options [Symbol] :statements_threshold options for the statement coverage threshold
 @option options [Symbol] :functions_threshold options for the statement function threshold
 @option options [Symbol] :branches_threshold options for the statement branch threshold
 @option options [Symbol] :lines_threshold options for the statement lines threshold
 @option options [Hash] :run_all options overwrite options when run all specs

 Gets called once when Guard starts.

 @raise [:task_has_failed] when start has failed