Sha256: 7ed9ef3d3ea0bf8d529685d0be7f44c5e348983ef291ecad15b8aa419d856a9b

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

module GitFonky
  class Reporter
    attr_reader :repo_dir

    def initialize(repo_dir)
      @repo_dir = repo_dir
    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

1 entries across 1 versions & 1 rubygems

Version Path
git_fonky-0.3.0 lib/git_fonky/reporter.rb