class Object
Public Instance Methods
formatted_duration(total_seconds)
click to toggle source
# File lib/jira/worklog/cli.rb, line 116 def formatted_duration(total_seconds) hours = total_seconds / (60 * 60) minutes = (total_seconds / 60) % 60 seconds = total_seconds % 60 '%2d:%02d:%02d' % [hours, minutes, seconds] end
get_credentials(options)
click to toggle source
# File lib/jira/worklog/cli.rb, line 123 def get_credentials(options) user = options.user || ask('JIRA user: ') password = options.password || ask('JIRA password: ') { |q| q.echo = '*' } url_base = options.url_base raise('--url_base is mandatory option') if url_base.nil? || url_base.empty? [url_base, user, password] end
load_from_xlsx(filename)
click to toggle source
# File lib/jira/worklog/cli.rb, line 98 def load_from_xlsx(filename) doc = SimpleXlsxReader.open(filename) doc.sheets # => [<#SXR::Sheet>, ...] sheet = doc.sheets.first puts "Loading from sheet: #{sheet.name}" worklogs = [] sheet.rows.each.with_index do |row, idx| issue, date, duration, comment = row[0], row[1], row[2], row[3] duration = Float(duration) rescue 0 if issue && !issue.nil? && !issue.empty? && date.is_a?(Date) && duration > 0 && comment && !comment.nil? && !comment.empty? worklogs << ({issue: issue, date: date, duration: duration * 3600, comment: comment}) else puts "Skipping row ##{idx + 1}: #{row.inspect}" end end worklogs end