class DioTests::Client
Attributes
minus_count[R]
plus_count[R]
Public Class Methods
format_pattern(format)
click to toggle source
# File lib/dio_tests/client.rb, line 43 def self.format_pattern(format) raise "format is require" unless format raise "Not found: #{format} in formats.yml" unless formats[format] formats[format] end
formats()
click to toggle source
# File lib/dio_tests/client.rb, line 50 def self.formats formats = YAML.load_file("#{File.dirname(__FILE__)}/formats.yml") end
new(args={})
click to toggle source
# File lib/dio_tests/client.rb, line 6 def initialize(args={}) @format = args[:format] @since_commit = args[:since_commit] || "master" @author = args[:author] || git_config("user.name") end
Public Instance Methods
git_config(name)
click to toggle source
# File lib/dio_tests/client.rb, line 39 def git_config(name) `git config --get #{name}`.strip end
git_log()
click to toggle source
# File lib/dio_tests/client.rb, line 33 def git_log git_log_command = "git log --author=#{@author} --remove-empty --oneline --unified=0 --ignore-all-space #{@since_commit}..HEAD" puts git_log_command `#{git_log_command}` end
print_test_count()
click to toggle source
# File lib/dio_tests/client.rb, line 12 def print_test_count format_pattern = DioTests::Client.format_pattern(@format) log = git_log @plus_count = log.each_line.select{|line| line[0] == "+"}. inject(0){|count, line| line[0] = "" count += 1 if line =~ /#{format_pattern}/ count } || 0 @minus_count = log.each_line.select{|line| line[0] == "-"}. inject(0){|count, line| line[0] = "" count += 1 if line =~ /#{format_pattern}/ count } || 0 puts "plus=#{@plus_count}, minus=#{@minus_count}, increment=#{@plus_count - @minus_count}" end