class Pronto::Runner
def self.runners
def self.runners repository end
def self.title
def self.title @runner_name ||= begin source_path, _line = instance_method(:run).source_location file_name, _extension = File.basename(source_path).split('.') file_name end end
def initialize(patches, commit = nil)
def initialize(patches, commit = nil) @patches = patches @commit = commit @config = Config.new end
def rake_file?(path)
def rake_file?(path) File.extname(path) == '.rake' end
def rb_file?(path)
def rb_file?(path) File.extname(path) == '.rb' end
def repo_path
def repo_path @patches.first.repo.path end
def ruby_executable?(path)
def ruby_executable?(path) return false if File.directory?(path) line = File.open(path, &:readline) line =~ /#!.*ruby/ rescue ArgumentError, EOFError false end
def ruby_file?(path)
def ruby_file?(path) rb_file?(path) || rake_file?(path) || ruby_executable?(path) end
def ruby_patches
def ruby_patches return [] unless @patches @ruby_patches ||= @patches.select { |patch| patch.additions > 0 } .select { |patch| ruby_file?(patch.new_file_full_path) } end