Module: Winker::Devices::Eggtray

Included in:
Winker::Device
Defined in:
lib/winker/devices/eggtray.rb

Instance Method Summary collapse

Instance Method Details

#countObject



26
27
28
# File 'lib/winker/devices/eggtray.rb', line 26

def count
  @obj_data.last_reading.inventory
end

#days_leftObject

days left to first expired egg



30
31
32
# File 'lib/winker/devices/eggtray.rb', line 30

def days_left #days left to first expired egg
  ((@obj_data.last_reading.freshness_remaining - (Time.now.to_i - @obj_data.last_reading.freshness_remaining_updated_at))/60.0/60.0/24).to_i rescue nil
end

#eggs_expiredObject



10
11
12
# File 'lib/winker/devices/eggtray.rb', line 10

def eggs_expired
  eggs_left.select{|e| Time.now>(e.to_time+expire_time)}
end

#eggs_leftObject



6
7
8
# File 'lib/winker/devices/eggtray.rb', line 6

def eggs_left
  self.eggs.select{|e| e!=0.0}
end

#eggs_warningObject



14
15
16
# File 'lib/winker/devices/eggtray.rb', line 14

def eggs_warning
  eggs_left.select{|e| Time.now>(e.to_time+warning_time)}-eggs_expired
end

#expire_timeObject



18
19
20
# File 'lib/winker/devices/eggtray.rb', line 18

def expire_time
  @obj_data.freshness_period/60/60/24
end

#warning_timeObject



22
23
24
# File 'lib/winker/devices/eggtray.rb', line 22

def warning_time
  expire_time*3/4
end