rubyshelltools 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +13 -0
- data/assets/docs/examples.md +39 -35
- data/lib/modules/calendar/calendar.rb +43 -11
- data/lib/modules/calendar/calendar_event.rb +1 -1
- data/lib/modules/persistent/persistent.rb +2 -3
- data/lib/modules/persistent/store.rb +8 -1
- data/lib/rst.rb +40 -29
- data/rst.rb +1 -1
- metadata +1 -1
    
        data/README.md
    CHANGED
    
    | @@ -69,6 +69,19 @@ The latest version is online at my [DAV-server][] too. | |
| 69 69 | 
             
            Browsing the code
         | 
| 70 70 | 
             
            -----------------
         | 
| 71 71 |  | 
| 72 | 
            +
              **To get a glue what's goin on**
         | 
| 73 | 
            +
             | 
| 74 | 
            +
              do a `rspec --format d specs/` in the project's root
         | 
| 75 | 
            +
             | 
| 76 | 
            +
                    Command-line arguments
         | 
| 77 | 
            +
                      --verbose - should list interpreted options and files with --verbose
         | 
| 78 | 
            +
                      ls - should list files with 'ls'
         | 
| 79 | 
            +
                      --help - should print help
         | 
| 80 | 
            +
                      --examples - should print out examples from doc/examples.md
         | 
| 81 | 
            +
                    
         | 
| 82 | 
            +
                    ..... cut out a lot of lines .....
         | 
| 83 | 
            +
             | 
| 84 | 
            +
              
         | 
| 72 85 | 
             
              **modules**
         | 
| 73 86 |  | 
| 74 87 | 
             
             Modules are the core of this project. Within the directory
         | 
    
        data/assets/docs/examples.md
    CHANGED
    
    | @@ -7,39 +7,43 @@ rst --help | |
| 7 7 | 
             
            Print out available options and commands
         | 
| 8 8 |  | 
| 9 9 | 
             
                $ rst --help
         | 
| 10 | 
            -
                Usage: rst [COMMAND] [options] [FILES..]
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                Options:
         | 
| 13 | 
            -
                    -v, --[no-]verbose               Run verbosely
         | 
| 14 | 
            -
                        --examples                   Show some usage examples
         | 
| 15 | 
            -
                    -h, --help                       Print help
         | 
| 16 | 
            -
                    -f, --from DATE                  Set from-date
         | 
| 17 | 
            -
                    -t, --to DATE                    Set to-date
         | 
| 18 | 
            -
                    -n, --name NAME                  Use this name for the command
         | 
| 19 | 
            -
                    -e, --new-event [DATE,]STRING    Add an event
         | 
| 20 | 
            -
                        --list-calendars             List available calendars
         | 
| 21 | 
            -
                        --delete-calendar CALENDARNAME
         | 
| 22 | 
            -
                                                     Delete an calendar and all it's entries!
         | 
| 23 | 
            -
                        --[no-]empty                 Show empty entries
         | 
| 24 | 
            -
                        --save-defaults              Save given params as defaults
         | 
| 25 | 
            -
                        --list-defaults              list saved defaults
         | 
| 26 | 
            -
                        --clear-defaults             delete previously saved defaults
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                Commands:
         | 
| 29 | 
            -
                    nil .......... no command. Interpret options only (useful in combination with -v)
         | 
| 30 | 
            -
                    ls ........... list directory and files
         | 
| 31 | 
            -
                    cal[endar] ... print a calendar --from --to
         | 
| 32 | 
            -
             | 
| 33 | 
            -
                DATE-FORMATS FOR --new-event:
         | 
| 34 | 
            -
                    omitted....... today
         | 
| 35 | 
            -
                    today ........ today
         | 
| 36 | 
            -
                    nDWM ......... today + n days, weeks, months eg 1w, 2d[ays], 1M[ONTH]
         | 
| 37 | 
            -
                    yyyy-mm-dd
         | 
| 38 | 
            -
                    dd.mm.yyyy
         | 
| 39 | 
            -
                    mm/dd/yyyy
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                    use --example for a more detailed list of commands.
         | 
| 42 10 |  | 
| 11 | 
            +
                    Usage: rst [COMMAND] [options] [FILES..]
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                    Options:
         | 
| 14 | 
            +
                        -v, --[no-]verbose               Run verbosely
         | 
| 15 | 
            +
                            --examples                   Show some usage examples
         | 
| 16 | 
            +
                        -h, --help                       Print help
         | 
| 17 | 
            +
                        -f, --from DATE                  Set from-date
         | 
| 18 | 
            +
                        -t, --to DATE                    Set to-date
         | 
| 19 | 
            +
                        -n, --name NAME                  Use this name for the command
         | 
| 20 | 
            +
                        -e, --new-event [DATE,]STRING    Add an event
         | 
| 21 | 
            +
                            --list-calendars             List available calendars
         | 
| 22 | 
            +
                            --delete-calendar CALENDARNAME
         | 
| 23 | 
            +
                                                         Delete an calendar and all it's entries!
         | 
| 24 | 
            +
                            --delete-events ID[,ID,...]  delete entries from calendar
         | 
| 25 | 
            +
                            --[no-]empty                 Show empty entries
         | 
| 26 | 
            +
                        -i, --with-ids                   List entries with ids
         | 
| 27 | 
            +
                        -d, --dump                       Dump calendar-events
         | 
| 28 | 
            +
                            --save-defaults              Save given params as defaults
         | 
| 29 | 
            +
                            --list-defaults              list saved defaults
         | 
| 30 | 
            +
                            --clear-defaults             delete previously saved defaults
         | 
| 31 | 
            +
                        -p, --print-calendar             Print calendar
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                    Commands:
         | 
| 34 | 
            +
                        nil .......... No command. Interpret options only (useful in combination with -v)
         | 
| 35 | 
            +
                        ls ........... List directory and files
         | 
| 36 | 
            +
                        cal[endar] ... Print a calendar --from --to
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                    DATE-FORMATS FOR --new-event:
         | 
| 39 | 
            +
                        omitted....... Today
         | 
| 40 | 
            +
                        today ........ Today
         | 
| 41 | 
            +
                        nDWM ......... Today + n days, weeks, months eg 1w, 2d[ays], 1M[ONTH]
         | 
| 42 | 
            +
                        yyyy-mm-dd
         | 
| 43 | 
            +
                        dd.mm.yyyy
         | 
| 44 | 
            +
                        mm/dd/yyyy
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                        Use --example for a more detailed list of commands.
         | 
| 43 47 | 
             
            rst ls *
         | 
| 44 48 | 
             
            --------
         | 
| 45 49 |  | 
| @@ -121,14 +125,14 @@ Print a pretty calendar | |
| 121 125 | 
             
                    $ rst cal -n work --print-calendar
         | 
| 122 126 |  | 
| 123 127 | 
             
                         April 2013        EVENTS:
         | 
| 124 | 
            -
                    Su Mo Tu We Th Fr Sa   Wed, Apr 24 2013: RailsConf2013 7h  | 
| 128 | 
            +
                    Su Mo Tu We Th Fr Sa   Wed, Apr 24 2013: RailsConf2013 7h Departure Munich + TUV Audit
         | 
| 125 129 | 
             
                        1  2  3  4  5  6   Mon, Apr 29 2013: RailsConf2013
         | 
| 126 130 | 
             
                     7  8  9 10 11 12 13   Tue, Apr 30 2013: RailsConf2013
         | 
| 127 131 | 
             
                    14 15 16 17 18 19 20   Wed, May 01 2013: RailsConf2013
         | 
| 128 132 | 
             
                    21 22 23 24 25 26 27   Thu, May 02 2013: RailsConf2013
         | 
| 129 133 | 
             
                    28 29 30               Fri, May 03 2013: RailsConf2013
         | 
| 130 | 
            -
                                           Sat, May 04 2013: RailsConf2013  | 
| 131 | 
            -
                                           Mon, May 06 2013:  | 
| 134 | 
            +
                                           Sat, May 04 2013: RailsConf2013 Arrival Munich
         | 
| 135 | 
            +
                                           Mon, May 06 2013: Exam Romy
         | 
| 132 136 | 
             
                          May 2013
         | 
| 133 137 | 
             
                    Su Mo Tu We Th Fr Sa
         | 
| 134 138 | 
             
                              1  2  3  4
         | 
| @@ -89,13 +89,14 @@ module RST | |
| 89 89 | 
             
                  include Persistent::Persistentable
         | 
| 90 90 | 
             
                  include CalendarHelper
         | 
| 91 91 |  | 
| 92 | 
            -
                  # @group public  | 
| 92 | 
            +
                  # @group public API
         | 
| 93 93 |  | 
| 94 94 | 
             
                  attr_reader :name, :start_date, :end_date, :events
         | 
| 95 95 |  | 
| 96 96 | 
             
                  # @param [String] _name Name and persistent-id of this calendar.
         | 
| 97 97 | 
             
                  # @param [Date|Time|String] _start The date when the calendar starts
         | 
| 98 98 | 
             
                  # @param [Date|Time|String] _end   The date when the calendar ends
         | 
| 99 | 
            +
                  # @param [Array] _events initial events
         | 
| 99 100 | 
             
                  # @see DEFAULT_CALENDAR_NAME
         | 
| 100 101 | 
             
                  def initialize(_name=DEFAULT_CALENDAR_NAME, _start=nil, _end=nil, _events=[])
         | 
| 101 102 | 
             
                    @name       = _name
         | 
| @@ -177,34 +178,65 @@ module RST | |
| 177 178 | 
             
                  # events within given date-range
         | 
| 178 179 | 
             
                  # @param [String|Date] from - Start on date
         | 
| 179 180 | 
             
                  # @param [String|Date] to - End on date
         | 
| 180 | 
            -
                  # @ | 
| 181 | 
            +
                  # @param [Boolean] empty - show empty lines (dates without events)
         | 
| 182 | 
            +
                  # @param [Boolean] ids - show ids of each event
         | 
| 183 | 
            +
                  # @return [String]|nil
         | 
| 181 184 | 
             
                  def to_text(from,to,empty=false,ids=false)
         | 
| 182 185 | 
             
                    unless (_content=list_days(from,to)).empty?
         | 
| 183 186 | 
             
                      left_column=build_cal(ensure_date(from),ensure_date(to))
         | 
| 184 187 | 
             
                      right_column=("EVENTS:\n"+list_days(from,to,empty,ids).join("\n")).split(/\n/)
         | 
| 185 | 
            -
                       | 
| 186 | 
            -
                      source = left_column.count > right_column.count ? left_column : right_column
         | 
| 187 | 
            -
                      source.each_with_index do |_r,idx|
         | 
| 188 | 
            -
                        rows << "%-22.22s %s " % [ left_column[idx].to_s+"     ", right_column[idx].to_s ]
         | 
| 189 | 
            -
                      end
         | 
| 190 | 
            -
                      rows.join("\n").gsub(/\s*$/,'')
         | 
| 188 | 
            +
                      render_2col_lines(left_column, right_column)
         | 
| 191 189 | 
             
                    end
         | 
| 192 190 | 
             
                  end
         | 
| 193 191 | 
             
                  # @endgroup
         | 
| 194 192 |  | 
| 195 193 | 
             
                  private
         | 
| 196 | 
            -
                  # @group private  | 
| 194 | 
            +
                  # @group private API
         | 
| 197 195 |  | 
| 196 | 
            +
                  # Format a 2 column text-output
         | 
| 197 | 
            +
                  # @example
         | 
| 198 | 
            +
                  #
         | 
| 199 | 
            +
                  #       $ bin/rst -p
         | 
| 200 | 
            +
                  #       work
         | 
| 201 | 
            +
                  #            April 2013        EVENTS:
         | 
| 202 | 
            +
                  #       Su Mo Tu We Th Fr Sa   Wed, Apr 24 2013: RailsConf2013 7h Abflug München + TÜV-Audit
         | 
| 203 | 
            +
                  #           1  2  3  4  5  6   Mon, Apr 29 2013: RailsConf2013
         | 
| 204 | 
            +
                  #        7  8  9 10 11 12 13   Tue, Apr 30 2013: RailsConf2013
         | 
| 205 | 
            +
                  #       14 15 16 17 18 19 20   Wed, May 01 2013: RailsConf2013
         | 
| 206 | 
            +
                  #       21 22 23 24 25 26 27   Thu, May 02 2013: RailsConf2013
         | 
| 207 | 
            +
                  #       28 29 30               Fri, May 03 2013: RailsConf2013
         | 
| 208 | 
            +
                  #                              Sat, May 04 2013: RailsConf2013 Ankunft München
         | 
| 209 | 
            +
                  #                              Mon, May 06 2013: Exam Romy
         | 
| 210 | 
            +
                  #            May 2013
         | 
| 211 | 
            +
                  #       Su Mo Tu We Th Fr Sa
         | 
| 212 | 
            +
                  #       1  2  3  4
         | 
| 213 | 
            +
                  #       5  6  7  8  9 10 11
         | 
| 214 | 
            +
                  #       12 13 14 15 16 17 18
         | 
| 215 | 
            +
                  #       19 20 21 22 23 24 25
         | 
| 216 | 
            +
                  #       26 27 28 29 30 31V
         | 
| 217 | 
            +
                  #
         | 
| 218 | 
            +
                  # @param [Array] left - lines for the left column
         | 
| 219 | 
            +
                  # @param [Array] right - lines for the right column
         | 
| 220 | 
            +
                  # @return [String] - 2 column text-lines
         | 
| 221 | 
            +
                  def render_2col_lines(left,right)
         | 
| 222 | 
            +
                    source = left.count > right.count ? left : right
         | 
| 223 | 
            +
                    rows = []
         | 
| 224 | 
            +
                    source.each_with_index do |_r,idx|
         | 
| 225 | 
            +
                      rows << "%-22.22s %s " % [ left[idx].to_s+"     ", right[idx].to_s ]
         | 
| 226 | 
            +
                    end
         | 
| 227 | 
            +
                    rows.join("\n").gsub(/\s*$/,'')
         | 
| 228 | 
            +
                  end
         | 
| 198 229 |  | 
| 199 | 
            -
                  # Uses OS'cal-command to format a small calendar for a given month
         | 
| 230 | 
            +
                  # Uses OS' cal-command to format a small calendar for a given month
         | 
| 200 231 | 
             
                  # @param [Date|String] from - start on date
         | 
| 201 232 | 
             
                  # @param [Date|String] to - end on date
         | 
| 202 | 
            -
                  # @return [ | 
| 233 | 
            +
                  # @return [Array] of text-lines
         | 
| 203 234 | 
             
                  def build_cal from, to
         | 
| 204 235 | 
             
                    (from..to).map{ |d| [d.month, d.year ] }.uniq.map { |m,y|
         | 
| 205 236 | 
             
                      `cal #{m} #{y}`
         | 
| 206 237 | 
             
                    }.join("\n").split(/\n/)
         | 
| 207 238 | 
             
                  end
         | 
| 239 | 
            +
             | 
| 208 240 | 
             
                  # Output date and Events on this date in one line
         | 
| 209 241 | 
             
                  # @param [Date] _date
         | 
| 210 242 | 
             
                  # @param [Boolean] show_empty - do output lines with no events
         | 
| @@ -60,11 +60,10 @@ module RST | |
| 60 60 | 
             
                  def move_store store
         | 
| 61 61 | 
             
                    if @store && @store != store
         | 
| 62 62 | 
             
                      raise NotImplementedError.new('An object can\'t be moved to another store')
         | 
| 63 | 
            -
                    elsif @store  | 
| 64 | 
            -
                      self
         | 
| 65 | 
            -
                    else
         | 
| 63 | 
            +
                    elsif @store != store
         | 
| 66 64 | 
             
                      @store = store
         | 
| 67 65 | 
             
                    end
         | 
| 66 | 
            +
                    self.store
         | 
| 68 67 | 
             
                  end
         | 
| 69 68 | 
             
                end
         | 
| 70 69 |  | 
| @@ -43,11 +43,18 @@ module RST | |
| 43 43 | 
             
                  end
         | 
| 44 44 |  | 
| 45 45 | 
             
                  # @param [Array|String] ids or id to search
         | 
| 46 | 
            +
                  # @yield [Object] for each object found
         | 
| 46 47 | 
             
                  # @return [nil]    if nothing found
         | 
| 47 48 | 
             
                  # @return [Object] if exactly one object found
         | 
| 48 49 | 
             
                  # @return [Array]  of objects with matching ids if more than one matched
         | 
| 49 50 | 
             
                  def find(*ids)
         | 
| 50 | 
            -
                     | 
| 51 | 
            +
                    if block_given?
         | 
| 52 | 
            +
                      all.select { |obj| ids.include?(obj.id) }.each do |obj|
         | 
| 53 | 
            +
                        yield(obj)
         | 
| 54 | 
            +
                      end
         | 
| 55 | 
            +
                    else
         | 
| 56 | 
            +
                      flatten all.select { |obj| ids.include?(obj.id) }
         | 
| 57 | 
            +
                    end
         | 
| 51 58 | 
             
                  end
         | 
| 52 59 |  | 
| 53 60 |  | 
    
        data/lib/rst.rb
    CHANGED
    
    | @@ -41,6 +41,9 @@ module RST | |
| 41 41 | 
             
                attr_reader :command
         | 
| 42 42 |  | 
| 43 43 | 
             
                # Initialize the Command-runner with arguments and parse them.
         | 
| 44 | 
            +
                # @example
         | 
| 45 | 
            +
                #   app = RstCommand.new(ARGV)
         | 
| 46 | 
            +
                #   app.run()
         | 
| 44 47 | 
             
                def initialize(args)
         | 
| 45 48 | 
             
                  load_defaults
         | 
| 46 49 | 
             
                  parse_options(args)
         | 
| @@ -70,20 +73,32 @@ module RST | |
| 70 73 | 
             
                  OptionParser.new do |opts|
         | 
| 71 74 | 
             
                    opts.banner = 'Usage: rst [COMMAND] [options] [FILES..]'
         | 
| 72 75 |  | 
| 76 | 
            +
                    opts.separator "\nCommands:"
         | 
| 77 | 
            +
                    opts.separator <<-EOT
         | 
| 78 | 
            +
                      nil .......... no command. Interpret options only (useful in combination with -v)
         | 
| 79 | 
            +
                      ls ........... list directory and files
         | 
| 80 | 
            +
                      cal[endar] ... print a calendar. See Calendar-options.
         | 
| 81 | 
            +
                    EOT
         | 
| 82 | 
            +
                    .gsub(/^\s+/,'    ')
         | 
| 83 | 
            +
             | 
| 73 84 | 
             
                    opts.separator "\nOptions:"
         | 
| 74 85 |  | 
| 75 86 | 
             
                    opts.on('-v', '--[no-]verbose', 'Run verbosely') do |v|
         | 
| 76 87 | 
             
                      @options[:verbose] = v
         | 
| 77 88 | 
             
                    end
         | 
| 78 89 |  | 
| 79 | 
            -
                    opts.on('--examples', 'Show  | 
| 90 | 
            +
                    opts.on('--examples', 'Show usage examples') do |x|
         | 
| 80 91 | 
             
                      @options[:examples] = x
         | 
| 81 92 | 
             
                    end
         | 
| 82 93 |  | 
| 83 | 
            -
                    opts.on('-h', '--help', 'Print help') do |h|
         | 
| 94 | 
            +
                    opts.on('-h', '--help', 'Print (this) help') do |h|
         | 
| 84 95 | 
             
                      puts opts
         | 
| 85 96 | 
             
                    end
         | 
| 86 97 |  | 
| 98 | 
            +
                    opts.separator ''
         | 
| 99 | 
            +
                    opts.separator 'Calendar-options:'
         | 
| 100 | 
            +
             | 
| 101 | 
            +
                    opts.separator '  Calendar-metadata'
         | 
| 87 102 | 
             
                    opts.on('-f', '--from DATE', String, 'Set from-date') do |from|
         | 
| 88 103 | 
             
                      @options[:from] = from
         | 
| 89 104 | 
             
                    end
         | 
| @@ -92,11 +107,12 @@ module RST | |
| 92 107 | 
             
                      @options[:to] = to
         | 
| 93 108 | 
             
                    end
         | 
| 94 109 |  | 
| 95 | 
            -
                    opts.on('-n', '--name NAME', String, 'Use this name for  | 
| 110 | 
            +
                    opts.on('-n', '--name NAME', String, 'Use this name for eg. calendar') do |name|
         | 
| 96 111 | 
             
                      @options[:name] = name
         | 
| 97 112 | 
             
                    end
         | 
| 98 113 |  | 
| 99 | 
            -
                    opts. | 
| 114 | 
            +
                    opts.separator '  Events'
         | 
| 115 | 
            +
                    opts.on('-e', '--new-event [DATE,]STRING', Array, 'Add an event to NAME') do |date,name|
         | 
| 100 116 | 
             
                      if name.nil?
         | 
| 101 117 | 
             
                        name = date
         | 
| 102 118 | 
             
                        date = Date.today
         | 
| @@ -104,18 +120,30 @@ module RST | |
| 104 120 | 
             
                      @options[:new_event] = {date: date, label: name}
         | 
| 105 121 | 
             
                    end
         | 
| 106 122 |  | 
| 123 | 
            +
                    opts.on('--delete-events ID[,ID,...]',Array, 'delete entries from calendar NAME') do |ids|
         | 
| 124 | 
            +
                      @options[:delete_events] = ids
         | 
| 125 | 
            +
                    end
         | 
| 126 | 
            +
             | 
| 127 | 
            +
                    opts.separator '  Calendar-actions'
         | 
| 128 | 
            +
             | 
| 129 | 
            +
                    opts.on('-p', '--print-calendar', 'Print calendar') do |p|
         | 
| 130 | 
            +
                      @options[:print_calendar] = p
         | 
| 131 | 
            +
                    end
         | 
| 132 | 
            +
             | 
| 133 | 
            +
                    opts.on('-d', '--dump', 'Dump calendar-events' ) do |d|
         | 
| 134 | 
            +
                      @options[:dump] = d
         | 
| 135 | 
            +
                    end
         | 
| 136 | 
            +
             | 
| 107 137 | 
             
                    opts.on('--list-calendars', 'List available calendars') do
         | 
| 108 138 | 
             
                      @options[:list_calendars] = true
         | 
| 109 139 | 
             
                    end
         | 
| 110 140 |  | 
| 111 | 
            -
                    opts.on('--delete-calendar  | 
| 141 | 
            +
                    opts.on('--delete-calendar CALNAME', String, 'Delete an calendar and all it\'s entries!') do |name|
         | 
| 112 142 | 
             
                      @options[:delete_calendar] = name
         | 
| 113 143 | 
             
                    end
         | 
| 114 144 |  | 
| 115 | 
            -
                    opts.on('--delete-events ID[,ID,...]',Array, 'delete entries from calendar') do |ids|
         | 
| 116 | 
            -
                      @options[:delete_events] = ids
         | 
| 117 | 
            -
                    end
         | 
| 118 145 |  | 
| 146 | 
            +
                    opts.separator '  Output-options'
         | 
| 119 147 | 
             
                    opts.on('--[no-]empty', 'Show empty entries') do |show|
         | 
| 120 148 | 
             
                      @options[:show_empty] = show
         | 
| 121 149 | 
             
                    end
         | 
| @@ -124,10 +152,8 @@ module RST | |
| 124 152 | 
             
                      @options[:with_ids] = ids
         | 
| 125 153 | 
             
                    end
         | 
| 126 154 |  | 
| 127 | 
            -
                    opts. | 
| 128 | 
            -
             | 
| 129 | 
            -
                    end
         | 
| 130 | 
            -
             | 
| 155 | 
            +
                    opts.separator ''
         | 
| 156 | 
            +
                    opts.separator 'Other options:'
         | 
| 131 157 | 
             
                    opts.on('--save-defaults', 'Save given params as defaults') do |v|
         | 
| 132 158 | 
             
                      @options[:save_defaults] = v
         | 
| 133 159 | 
             
                    end
         | 
| @@ -140,22 +166,8 @@ module RST | |
| 140 166 | 
             
                      @options[:clear_defaults] = v
         | 
| 141 167 | 
             
                    end
         | 
| 142 168 |  | 
| 143 | 
            -
                    opts.on('-p', '--print-calendar', 'Print calendar') do |p|
         | 
| 144 | 
            -
                      @options[:print_calendar] = p
         | 
| 145 | 
            -
                    end
         | 
| 146 | 
            -
             | 
| 147 | 
            -
                    opts.separator ''
         | 
| 148 | 
            -
                    opts.separator 'Commands:'
         | 
| 149 | 
            -
             | 
| 150 | 
            -
                    opts.separator <<-EOT
         | 
| 151 | 
            -
                      nil .......... no command. Interpret options only (useful in combination with -v)
         | 
| 152 | 
            -
                      ls ........... list directory and files
         | 
| 153 | 
            -
                      cal[endar] ... print a calendar --from --to
         | 
| 154 | 
            -
                    EOT
         | 
| 155 | 
            -
                    .gsub(/^\s+/,'    ')
         | 
| 156 | 
            -
             | 
| 157 169 | 
             
                    opts.separator ''
         | 
| 158 | 
            -
                    opts.separator 'DATE- | 
| 170 | 
            +
                    opts.separator 'DATE-formats used in --to, --form, and  --new-event:'
         | 
| 159 171 | 
             
                    opts.separator <<-EOT
         | 
| 160 172 | 
             
                      omitted....... today
         | 
| 161 173 | 
             
                      today ........ today
         | 
| @@ -375,8 +387,7 @@ module RST | |
| 375 387 | 
             
                def save_defaults
         | 
| 376 388 | 
             
                  store = Persistent::DiskStore.new('defaults')
         | 
| 377 389 | 
             
                  options.delete(:save_defaults)
         | 
| 378 | 
            -
                   | 
| 379 | 
            -
                  store << defaults
         | 
| 390 | 
            +
                  store << Defaults.new( command, options )
         | 
| 380 391 | 
             
                  "Defaults saved"
         | 
| 381 392 | 
             
                end
         | 
| 382 393 |  | 
    
        data/rst.rb
    CHANGED