Sha256: 43d25c34c240515a1f4cd48461eb65e1607b2f1c3b592633f9bea13de0f4931d
Contents?: true
Size: 794 Bytes
Versions: 1
Compression:
Stored size: 794 Bytes
Contents
# frozen_string_literal: true require 'listen' module GitMQueue class Consumer def initialize(storage:, name:, branch:) @storage = storage @branch = branch @name = name end def branch_file @branch_file ||= File.join(@storage.path, 'refs', 'heads') end def consume(&block) @block = block consume_commits listener.start end def stop listener.stop end private def listener @listener ||= Listen.to(branch_file, only: /#{Regexp.escape(@branch)}/) do consume_commits end end def consume_commits commits = @storage.commits(@branch, @name) commits.each do |commit| @block.call commit.message @storage.tag(@name, commit) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gitmqueue-0.1.2 | lib/consumer.rb |