Sha256: fb01f4c8c2c865308268ba4948ff9a9c1b3c033ae880146847aa67bcdabf57b0
Contents?: true
Size: 1.1 KB
Versions: 3
Compression:
Stored size: 1.1 KB
Contents
module Pronto class Runner include Plugin def initialize(patches, commit = nil) @patches = patches @commit = commit end def self.runners repository end 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 ruby_patches return [] unless @patches @ruby_patches ||= @patches.select { |patch| patch.additions > 0 } .select { |patch| ruby_file?(patch.new_file_full_path) } end def ruby_file?(path) rb_file?(path) || rake_file?(path) || ruby_executable?(path) end def repo_path @patches.first.repo.path end private def rb_file?(path) File.extname(path) == '.rb' end def rake_file?(path) File.extname(path) == '.rake' end def ruby_executable?(path) return false if File.directory?(path) line = File.open(path, &:readline) line =~ /#!.*ruby/ rescue ArgumentError, EOFError false end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pronto-0.8.2 | lib/pronto/runner.rb |
pronto-0.8.1 | lib/pronto/runner.rb |
pronto-0.8.0 | lib/pronto/runner.rb |