class GemsBond::Printers::Stdout

Inspects gem and outputs the result

Public Instance Methods

call() click to toggle source

Logs gem information @return [void]

# File lib/gems_bond/printers/stdout.rb, line 13
def call
  line_break
  puts "--- #{name} info ---".upcase
  line_break
  puts description
  line_break
  log_url
  log_version
  log_counts
  log_activity
  line_break
  return unless unknown

  puts "Note: this gem is not listed in your current dependencies!"
  line_break
end

Private Instance Methods

line_break() click to toggle source

Adds a line break

# File lib/gems_bond/printers/stdout.rb, line 33
def line_break
  puts ""
end
log_activity() click to toggle source

Logs activity information

# File lib/gems_bond/printers/stdout.rb, line 72
def log_activity
  print "- activity: "
  content = []
  add_days_since_last =
    lambda do |days, type|
      return if days.nil?

      unit = days.zero? || days > 1 ? "days" : "day"
      content << "#{human_number(days)} #{unit} since last #{type}"
    end

  add_days_since_last.call(days_since_last_version, "version")
  add_days_since_last.call(days_since_last_commit, "commit")

  puts content.empty? ? "unkown" : content.join(" | ")
end
log_counts() click to toggle source

Logs counts (downloads, forks, stars, contributors) information

# File lib/gems_bond/printers/stdout.rb, line 52
def log_counts
  print "- counts: "
  content = []
  add_count =
    lambda do |type|
      count = public_send("#{type}_count")
      return unless count

      content << "#{human_number(count)} #{type}"
    end

  add_count.call("downloads")
  add_count.call("forks")
  add_count.call("stars")
  add_count.call("contributors")

  puts content.empty? ? "unknown" : content.join(" | ")
end
log_url() click to toggle source

Logs url information

# File lib/gems_bond/printers/stdout.rb, line 38
def log_url
  url = source_code_uri || homepage || "?"
  puts "- url: #{url}"
end
log_version() click to toggle source

Logs version information

# File lib/gems_bond/printers/stdout.rb, line 44
def log_version
  return unless version_gap

  alert = version_gap.zero? ? "(up-to-date)" : "(#{version_gap} behind #{last_version})"
  puts "- version: #{version} #{alert}"
end