Sha256: e6b32bf81de7c8620fda057ab58045e4531d39600fb726a41dfd882d2dbcc833

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

module GitFonky
  class Reporter
    attr_reader :repo_dir

    def initialize(repo_dir)
      @repo_dir = repo_dir
    end

    def announce(action, direction = "from", remote = "upstream")
      puts "-----> #{action} #{direction} #{remote} #{repo_dir.branch}"
    end

    def announce_success
      puts "-----> Successfully updated #{repo_dir.dirname} | #{repo_dir.branch} branch"
    end

    def announce_update
      msg = "Updating -> #{repo_dir.dirname} | #{repo_dir.branch} branch "
      border = calculate_border_for("=", msg)

      output_border_and_msg(border, msg, warn: false)
    end

    def invalid_branch_msg
      msg = "You are not on the main/master branch. Please checkout the main/master branch and try again."
      sub_msg = "-----> skipping #{repo_dir.dirname} | #{repo_dir.branch} branch <-----"
      border = calculate_border_for("*", msg)

      output_border_and_msg(border, msg, sub_msg)
    end

    def failed_pull_msg
      msg = "-----> Failed to pull upstream #{branch}. Moving on to next repo. <-----"
      border = calculate_border_for(msg, "*")

      output_border_and_msg(border, msg)
    end

    private

    def calculate_border_for(border_char, msg)
      border_char * (msg.length + 20)
    end

    def output_border_and_msg(border, msg, sub_msg = nil, warn: true)
      puts border
      puts warning_header.center(border.length) if warn
      puts msg.center(border.length)
      puts sub_msg.center(border.length) if sub_msg
      puts border
    end

    def warning_header
      "WARNING"
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
git_fonky-0.5.0 lib/git_fonky/reporter.rb
git_fonky-0.4.0 lib/git_fonky/reporter.rb