class Herodot::ProjectLink

Constants

PROJECT_CONFIG

Public Class Methods

new(worklog) click to toggle source
# File lib/herodot/project_link.rb, line 16
def initialize(worklog)
  @worklog = worklog
  @project_configurations = {}
end
project_config_file(path) click to toggle source
# File lib/herodot/project_link.rb, line 5
def self.project_config_file(path)
  File.join(File.expand_path(path), PROJECT_CONFIG)
end

Public Instance Methods

totals() click to toggle source
# File lib/herodot/project_link.rb, line 21
def totals
  @worklog.totals.map do |date, logs|
    [date, decorated_logs(logs)]
  end
end

Private Instance Methods

decorated_log(log) click to toggle source
# File lib/herodot/project_link.rb, line 33
def decorated_log(log)
  link = issue_management_link(log)
  return log if link.nil?
  log.merge(link: link)
end
decorated_logs(logs) click to toggle source
# File lib/herodot/project_link.rb, line 29
def decorated_logs(logs)
  logs.map { |log| decorated_log(log) }
end
load_project_configuration(path) click to toggle source
# File lib/herodot/project_link.rb, line 46
def load_project_configuration(path)
  file = self.class.project_config_file(path)
  return { link: false } unless File.exist?(file)
  File.open(file) { |f| YAML.load(f) }
end