Class: Sensor::RakeTask

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/sensor/rake_task.rb

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ RakeTask

Returns a new instance of RakeTask.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/sensor/rake_task.rb', line 6

def initialize(name)
  desc "run sensors for yesterday"
  namespace name do
    task :yesterday do
      yesterday = Date.today - 1
      time_range = Sensor::TimeRange.new(yesterday, yesterday)
      payload = Sensor::Payload.new(time_range)
      payload.acquire
      payload.distribute
    end

    desc "run sensors for last week (Mon-Sun)"
    task :last_week do
      today = Date.today
      week_start = today - today.wday - 6
      week_end = week_start + 6

      time_range = Sensor::TimeRange.new(week_start, week_end)
      payload = Sensor::Payload.new(time_range)
      payload.acquire
      payload.distribute
    end

    desc "run sensors for an arbitrary range of dates"
    task :custom do
      time_range = Sensor::TimeRange.new(ENV['START'], ENV['END'])
      payload = Sensor::Payload.new(time_range)
      payload.acquire
      payload.distribute
    end
  end
end