class Gitra::Parser
Public Class Methods
new(rule_file)
click to toggle source
# File lib/gitra/parser.rb, line 5 def initialize(rule_file) rule_file ||= '.gitra-rules.yml' @rules = YAML.load_file(rule_file) @uses = {} @rules.each_pair do |name, patterns| @uses[name] = {} patterns.map! { |p| Regexp.new p } end end
Public Instance Methods
result()
click to toggle source
# File lib/gitra/parser.rb, line 28 def result @uses end
use(commit)
click to toggle source
# File lib/gitra/parser.rb, line 16 def use(commit) @rules.each_pair do |name, patterns| patterns.each do |pattern| match = pattern.match commit.message next unless match id = match[1].to_i (@uses[name][id] ||= []) << commit end end end