Class: TempestTime::Commands::Report
- Inherits:
-
TempestTime::Command
- Object
- TempestTime::Command
- TempestTime::Commands::Report
- Defined in:
- lib/tempest_time/commands/report.rb
Instance Method Summary collapse
- #execute! ⇒ Object
-
#initialize(users, options) ⇒ Report
constructor
A new instance of Report.
Methods inherited from TempestTime::Command
#command, #date_prompt, #execute, #pastel, #prompt, #spinner, #table, #week_prompt, #with_spinner, #with_success_fail_spinner
Methods included from Helpers::GitHelper
Methods included from Helpers::FormattingHelper
Methods included from Helpers::TimeHelper
#beginning_of_week, #dates_in_range, #end_of_week, #formatted_date, #formatted_date_range, #formatted_time, #formatted_time_for_input, #formatted_time_long, #future_dates, #parsed_time, #past_dates, #past_week_selections, #week_beginnings, #week_dates
Constructor Details
#initialize(users, options) ⇒ Report
Returns a new instance of Report.
11 12 13 14 15 |
# File 'lib/tempest_time/commands/report.rb', line 11 def initialize(users, ) @users = users || [] @team = [:team] @teams = TempestTime::Settings::Teams.new end |
Instance Method Details
#execute! ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/tempest_time/commands/report.rb', line 17 def execute! if @users.empty? && @team.nil? @users = user_prompt end @users.push(@teams.members(@team)) if @team abort('No users specified.') unless @users.any? @week = week_prompt('Please select the week to report.') with_spinner('Generating report...') do |spinner| table = render_table spinner.stop(pastel.green('Your report is ready!')) date_range = "#{formatted_date(start_date)}"\ ' to '\ "#{formatted_date(end_date)}" prompt.say("\nReport for #{pastel.green(date_range)}") puts table end end |