class SystemBrowser::Gem2Markdown

Public Class Methods

convert(gem) click to toggle source
# File lib/system_browser/gem2markdown.rb, line 3
def self.convert(gem)
  self.new(gem).convert
end
new(gem) click to toggle source
# File lib/system_browser/gem2markdown.rb, line 7
def initialize(gem)
  @gem = gem
end

Public Instance Methods

convert() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 11
def convert
  description = ''

  [header,
   summary,
   homepage,
   license,
   author,
   email,
   newline,
   description,
   newline(2)
  ].each do |desc|
    description += (desc || '')
   end

  {
    description: description,
    development_deps: development_deps,
    runtime_deps: runtime_deps
  }
end

Private Instance Methods

author() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 59
def author
  if @gem.authors.any?
    authors = @gem.authors.join(', ')
    li("by #{authors}") + newline
  end
end
description() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 66
def description
  if @gem.description
    @gem.description + newline
  end
end
development_deps() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 100
def development_deps
  if @gem.development_dependencies.any?
    @gem.development_dependencies.map do |(name, _ver, _type)|
      name.to_s
    end
  end
end
email() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 72
def email
  if @gem.email
    li_h = 'email: '
    email = @gem.email
    item = nil

    item = case email
           when String
             li(li_h + email)
           when Array
             li(li_h + email.join(', '))
           else
             fail RuntimeError, 'wrong email format'
           end

    item + newline
  end

end
header() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 36
def header
  "#{@gem.full_name}\n==" + newline
end
homepage() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 46
def homepage
  if @gem.homepage
    li("homepage: #{@gem.homepage}") + newline
  end
end
li(item) click to toggle source
# File lib/system_browser/gem2markdown.rb, line 109
def li(item)
  '* ' + item
end
license() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 52
def license
  if @gem.licenses.any?
    licenses = @gem.licenses.join(', ')
    li("license: #{licenses}") + newline
  end
end
newline(n = 1) click to toggle source
# File lib/system_browser/gem2markdown.rb, line 113
def newline(n = 1)
  "\n" * n
end
runtime_deps() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 92
def runtime_deps
  if @gem.runtime_dependencies.any?
    @gem.runtime_dependencies.map do |(name, _ver, _type)|
      name.to_s
    end
  end
end
summary() click to toggle source
# File lib/system_browser/gem2markdown.rb, line 40
def summary
  if @gem.summary
    @gem.summary + newline
  end
end