Sha256: be0919e4acc61f56adacc7ab75ee76e7dba8ed78e98a6afe2434e77f0ce006b1

Contents?: true

Size: 987 Bytes

Versions: 3

Compression:

Stored size: 987 Bytes

Contents

#! /usr/bin/env ruby
# coding: utf-8

#require "sculd/event.rb"
#require "sculd/plan.rb"

#
#
#
class Sculd::Plan::Deadline < Sculd::Plan

  SYMBOL_CHAR = "!"
  DEFAULT_OPTION = 7

  def priority(today)
    #pp @option
    #@option = 1 if @option < 1
    option = (@option || DEFAULT_OPTION)
    beginning = @datetime - option
    #pp beginning
    if today < beginning
      return 0
    elsif today == @datetime
      return Sculd::Plan::DEADLINE_PRIORITY
    elsif today <= @datetime
      rp = Sculd::Plan::REMINDER_PRIORITY
      dp = Sculd::Plan::DEADLINE_PRIORITY
      return (rp + (dp - rp) * (today - beginning)/(option.to_f)).to_i
    else
      return Sculd::Plan::DEADLINE_PRIORITY
    end
  end

  def event_dates
    #@option ||= DEFAULT_OPTION

    results = []
    results << @datetime - (@option || DEFAULT_OPTION) unless @option == 0
    results << @datetime
    results.map do |datetime|
      Date.new(datetime.year, datetime.month, datetime.day)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sculd-0.2.2 lib/sculd/plan/deadline.rb
sculd-0.2.1 lib/sculd/plan/deadline.rb
sculd-0.2.0 lib/sculd/plan/deadline.rb