diff options
Diffstat (limited to 'lib/flowdock/git.rb')
-rw-r--r-- | lib/flowdock/git.rb | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/lib/flowdock/git.rb b/lib/flowdock/git.rb deleted file mode 100644 index 897ee647d87..00000000000 --- a/lib/flowdock/git.rb +++ /dev/null @@ -1,67 +0,0 @@ -# frozen_string_literal: true -require 'flowdock' -require 'flowdock/git/builder' - -module Flowdock - class Git - TokenError = Class.new(StandardError) - - DEFAULT_PERMANENT_REFS = [ - Regexp.new('refs/heads/master') - ].freeze - - class << self - def post(ref, from, to, options = {}) - Git.new(ref, from, to, options).post - end - end - - def initialize(ref, from, to, options = {}) - raise TokenError, "Flowdock API token not found" unless options[:token] - - @ref = ref - @from = from - @to = to - @options = options - @token = options[:token] - @commit_url = options[:commit_url] - @diff_url = options[:diff_url] - @repo_url = options[:repo_url] - @repo_name = options[:repo_name] - @permanent_refs = options.fetch(:permanent_refs, DEFAULT_PERMANENT_REFS) - end - - # Send git push notification to Flowdock - def post - messages.each do |message| - ::Flowdock::Client.new(flow_token: @token).post_to_thread(message) - end - end - - def repo - @options[:repo] - end - - private - - def messages - Git::Builder.new(repo: repo, - ref: @ref, - before: @from, - after: @to, - commit_url: @commit_url, - branch_url: @branch_url, - diff_url: @diff_url, - repo_url: @repo_url, - repo_name: @repo_name, - permanent_refs: @permanent_refs, - tags: tags - ).to_hashes - end - - # Flowdock tags attached to the push notification - def tags - Array(@options[:tags]).map { |tag| CGI.escape(tag) } - end - end -end |