class Selective::Ruby::Core::Init
def self.run(args)
def self.run(args) new(args).send(:run) end
def initialize(args)
def initialize(args) @debug = !args.delete("--debug").nil? @log = !args.delete("--log").nil? @runner_name, @args, @command = parse_args(args) require_runner end
def parse_args(args)
def parse_args(args) # Returns runner_name, args, command if args[0] == "exec" # e.g. selective exec rspec [args[1], args[2..], :exec] else # e.g. selective rspec [args[0], args[1..], :start] end end
def require_runner
def require_runner require "selective-ruby-#{runner_name}" rescue LoadError nil end
def run
def run Selective::Ruby::Core::Controller.new(runner_class, args, debug: debug, log: log).send(command) end
def runner_class
def runner_class Selective::Ruby::Core.runner_for(runner_name) end