class Cykl::Initializer
Attributes
cycle_time[R]
Public Instance Methods
time(repo = nil)
click to toggle source
# File lib/cykl/initializer.rb, line 18 def time(repo = nil) initializer_message(repo, options) list_of_issues(repo, options) puts_and_flush(cycle_time_message) rescue Octokit::NotFound puts_and_flush('Sorry, Github couldn\'t find anything') end
Private Instance Methods
average_cycle_time(issues)
click to toggle source
# File lib/cykl/initializer.rb, line 39 def average_cycle_time(issues) lifetimes = [] issues.each do |issue| lifetimes << ((issue.closed_at - issue.created_at) / seconds_in_a_day) end calculate_average(lifetimes) end
calculate_average(data)
click to toggle source
# File lib/cykl/initializer.rb, line 49 def calculate_average(data) total = data.inject(:+) (total / data.count).round(2) end
cycle_time_message()
click to toggle source
# File lib/cykl/initializer.rb, line 34 def cycle_time_message "\nYour average cycle time is #{cycle_time}" + (cycle_time == 1.00 ? 'day' : 'days') end
initializer_message(repo, options)
click to toggle source
# File lib/cykl/initializer.rb, line 59 def initializer_message(repo, options) if options.any? && !options[:label].empty? puts_and_flush( "Attempting to pull in your #{options[:label]} issues \n" + "from #{repo}, please wait..." ) else puts_and_flush("Pulling in your issues from #{repo}, please wait...") end end
list_of_issues(repo, options)
click to toggle source
# File lib/cykl/initializer.rb, line 29 def list_of_issues(repo, options) issues = Issues.new.list_issues(repo, options) @cycle_time = average_cycle_time(issues) end
puts_and_flush(msg)
click to toggle source
# File lib/cykl/initializer.rb, line 70 def puts_and_flush(msg) puts msg STDOUT.flush end
seconds_in_a_day()
click to toggle source
# File lib/cykl/initializer.rb, line 55 def seconds_in_a_day (24 * 60 * 60) end