class BundlerDiffgems::Formatter::MdTable

Constants

HR
ITEMS
TEMPLATE

Public Instance Methods

render(gems) click to toggle source
# File lib/bundler_diffgems/formatter/md_table.rb, line 10
def render(gems)
  rows = gems.map { |gem| render_row(gem) }
  [HEADER, HR, *rows].join("\n")
end

Private Instance Methods

format_name(gem) click to toggle source
# File lib/bundler_diffgems/formatter/md_table.rb, line 25
def format_name(gem)
  url = gem[:homepage] || gem[:github_url]
  if url
    "[#{gem[:name]}](#{url})"
  else
    gem[:name]
  end
end
icon_for(gem) click to toggle source
# File lib/bundler_diffgems/formatter/md_table.rb, line 34
def icon_for(gem)
  case gem[:compare_url]
  when /master$/
    ':warning:'
  when URI.regexp
    ':white_check_mark:'
  when nil
    ':x:'
  else
    ':bug:'
  end
end
render_row(gem) click to toggle source
# File lib/bundler_diffgems/formatter/md_table.rb, line 17
def render_row(gem)
  name = format_name(gem)
  before, after = gem.fetch_values(:before, :after)
  compare_url = "#{icon_for(gem)} #{gem[:compare_url]}"

  format TEMPLATE, name, before, after, compare_url
end