Class TaskJuggler::Tj3SsSender
In: lib/taskjuggler/apps/Tj3SsSender.rb
Parent: Tj3SheetAppBase

Methods

Public Class methods

[Source]

# File lib/taskjuggler/apps/Tj3SsSender.rb, line 27
    def initialize
      super
      @optsSummaryWidth = 25
      @force = false
      @intervalDuration = nil

      @hideResource = nil
      # The default report period end is next Wednesday 0:00.
      @date = TjTime.new.nextDayOfWeek(3).to_s('%Y-%m-%d')
      @resourceList = []
    end

Public Instance methods

[Source]

# File lib/taskjuggler/apps/Tj3SsSender.rb, line 71
    def appMain(argv)
      ts = StatusSheetSender.new('tj3ss_sender')
      @rc.configure(ts, 'global')
      @rc.configure(ts, 'statussheets')
      @rc.configure(ts, 'statussheets.sender')
      ts.workingDir = @workingDir if @workingDir
      ts.dryRun = @dryRun
      ts.force = @force
      ts.intervalDuration = @intervalDuration if @intervalDuration
      ts.date = @date if @date
      ts.hideResource = @hideResource if @hideResource

      ts.sendTemplates(@resourceList)

      0
    end

[Source]

# File lib/taskjuggler/apps/Tj3SsSender.rb, line 39
    def processArguments(argv)
      super do
        @opts.banner += "This program can be used to out status sheets templates via email. It will\ngenerate status sheet templates for managers of the project. The project data\nwill be accesses via tj3client from a running TaskJuggler server process.\n"
        @opts.on('-r', '--resource <ID>', String,
                 format('Only generate template for given resource')) do |arg|
          @resourceList << arg
        end
        @opts.on('-f', '--force',
                format('Send out a new template even if one exists ' +
                       'already')) do |arg|
          @force = true
        end
        @opts.on('--hideresource <EXPR>', String,
                 format('Filter expression to limit the resource list')) do |arg|
          @hideResource = arg
        end
        @opts.on('-i', '--interval <DURATION>', String,
                 format('The duration of the interval. This is a number ' +
                        'directly followed by a unit. 1w means one week ' +
                        '(the default), 5d means 5 days and 72h means 72 ' +
                        'hours.')) do |arg|
          @intervalDuration = arg
        end
        optsEndDate
      end
    end

[Validate]