Sha256: eb10290f997770242ed5bfde02ebcf677dcd913b1208e5b3742f079f0c46fc7f

Contents?: true

Size: 573 Bytes

Versions: 7

Compression:

Stored size: 573 Bytes

Contents

module TaskManager
  module DeadlineCalculator
    def calculate_deadline(type, opts)
      type = convert_type(type)
      opts.symbolize_keys!

      beginning = Time.now.send("beginning_of_#{type}")
      beginning.
        months_since(opts[:deadline_month].to_i).
        since(opts[:deadline_day].to_i * 24 * 60 * 60).
        since(opts[:deadline_hour].to_i * 60 * 60).
        since(opts[:deadline_minute].to_i * 60)
    end

    private
    def convert_type(type)
      return :day if type.to_sym == :daily

      type.to_s.gsub(/ly/, '').to_sym
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
task-manager-0.1.7 lib/task-manager/deadline_calculator.rb
task-manager-0.1.6 lib/task-manager/deadline_calculator.rb
task-manager-0.1.5 lib/task-manager/deadline_calculator.rb
task-manager-0.1.4 lib/task-manager/deadline_calculator.rb
task-manager-0.1.3 lib/task-manager/deadline_calculator.rb
task-manager-0.1.2 lib/task-manager/deadline_calculator.rb
task-manager-0.1.1 lib/task-manager/deadline_calculator.rb