class GitCommitMailer::MailBodyFormatter

Public Class Methods

new(info) click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 20
def initialize(info)
  @info = info
  @mailer = @info.mailer
end

Public Instance Methods

format() click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 25
def format
  ERB.new(template, nil, "<>").result(binding)
end

Private Instance Methods

commit_file_url_github_wiki(file) click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 59
def commit_file_url_github_wiki(file)
  return nil if file.nil?

  user = @mailer.github_user
  repository = @mailer.github_repository
  return nil if user.nil? or repository.nil?
  base_url = @mailer.github_base_url
  page_name = file.gsub(/\.[^.]+\z/, "")
  page_name_in_url = ERB::Util.u(page_name)
  revision = @info.revision
  "#{base_url}/#{user}/#{repository}/wiki/#{page_name_in_url}/#{revision}"
end
commit_file_url_gitlab_wiki(file) click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 72
def commit_file_url_gitlab_wiki(file)
  return nil if file.nil?

  gitlab_project_uri = @mailer.gitlab_project_uri
  return nil if gitlab_project_uri.nil?

  page_name = file.gsub(/\.[^.]+\z/, "")
  page_name_in_url = ERB::Util.u(page_name)
  revision = @info.revision
  "#{gitlab_project_uri}/wikis/#{page_name_in_url}?version_id=#{revision}"
end
commit_url() click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 30
def commit_url
  case @mailer.repository_browser
  when "github"
    revision = @info.revision
    commit_url_github(revision)
  when "github-wiki"
    file = (@info.updated_files + @info.added_files).first
    commit_file_url_github_wiki(file)
  when "gitlab"
    return nil if @mailer.gitlab_project_uri.nil?
    revision = @info.revision
    "#{@mailer.gitlab_project_uri}/commit/#{revision}"
  when "gitlab-wiki"
    file = (@info.updated_files + @info.added_files).first
    commit_file_url_gitlab_wiki(file)
  else
    nil
  end
end
commit_url_github(revision) click to toggle source
# File lib/git-commit-mailer/mail-body-formatter.rb, line 50
def commit_url_github(revision)
  user = @mailer.github_user
  repository = @mailer.github_repository
  return nil if user.nil? or repository.nil?

  base_url = @mailer.github_base_url
  "#{base_url}/#{user}/#{repository}/commit/#{revision}"
end