winker 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3c7b97384e20236514a2400b820c3b5a5866203
4
- data.tar.gz: 689663a3f165d9f8b0402191bc156895349fcf1e
3
+ metadata.gz: 432efc1484acfb5ca731fe491f37c5e203b4bf03
4
+ data.tar.gz: fd167aeba9e7b2870c39fe10caeb4a50428f09d5
5
5
  SHA512:
6
- metadata.gz: dfda64d4836f5d2a53f74b2b4c0a86d9dee150e2489c51846430b88a4740c821bdd2c06fbdf4dea2cab1bb73a294e64a0cdc56f5ee76f54220e126dee6bd3e1c
7
- data.tar.gz: 4626b0a24db9a207a9b43b23868e2c83d3bedb022c7a8077d1188ce6c372f658bfb35ff789a13756d1081a078a5cc84e3ba59069883c8ac42ab2c9058b8f49bb
6
+ metadata.gz: 91f829a401c14894c6350f3ceb7f5fbdf7c31141117c7aac89c13dbf9f89b7069a9adeb54f98bc649613cedf5c2c16e5ea6ba0be1298a7626caf1ea838a8b82f
7
+ data.tar.gz: 74be10a918eb09892480407a988af0331d8ec4f8fa1e4559aadcd39d8e8d001a2182ace6dd775a1274391f73900a96e50535e64f32f16a9c34baceb5342e2a69
@@ -5,6 +5,7 @@ require 'winker/devices/on_off'
5
5
  require 'winker/devices/light_bulb'
6
6
  require 'winker/devices/sensor_pod'
7
7
  require 'winker/devices/unknown_device'
8
+ require 'winker/devices/eggtray'
8
9
  require 'winker/devices/hub'
9
10
 
10
11
  module Winker
@@ -16,7 +17,7 @@ module Winker
16
17
  def initialize(obj_data)
17
18
  @obj_data = obj_data
18
19
  find_type_and_id
19
- self.extend(eval("Winker::Devices::#{@type.classify}"))
20
+ self.extend(eval("Winker::Devices::#{@type.classify}")) if @type
20
21
  end
21
22
 
22
23
  def method_missing(method_sym, *arguments, &block)
@@ -33,8 +34,10 @@ module Winker
33
34
  include Winker::Devices::LightBulb
34
35
  include Winker::Devices::SensorPod
35
36
  include Winker::Devices::UnknownDevice
37
+ include Winker::Devices::Eggtray
36
38
  include Winker::Devices::Hub
37
39
  # VALID_TYPES=%w{
40
+ # egg_minder
38
41
  # sensor_pod
39
42
  # light_bulb
40
43
  # garage_door
@@ -7,6 +7,7 @@ module Winker
7
7
  sensor_pod
8
8
  light_bulb
9
9
  unknown_device
10
+ eggtray
10
11
  hub
11
12
  }
12
13
 
@@ -0,0 +1,35 @@
1
+ module Winker
2
+ module Devices
3
+ module Eggtray
4
+
5
+
6
+ def eggs_left
7
+ self.eggs.select{|e| e!=0.0}
8
+ end
9
+
10
+ def eggs_expired
11
+ eggs_left.select{|e| Time.now>(e.to_time+expire_time)}
12
+ end
13
+
14
+ def eggs_warning
15
+ eggs_left.select{|e| Time.now>(e.to_time+warning_time)}-eggs_expired
16
+ end
17
+
18
+ def expire_time
19
+ @obj_data.freshness_period/60/60/24
20
+ end
21
+
22
+ def warning_time
23
+ expire_time*3/4
24
+ end
25
+
26
+ def count
27
+ @obj_data.last_reading.inventory
28
+ end
29
+
30
+ def days_left #days left to first expired egg
31
+ ((@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
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Winker
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: winker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Mahan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-08 00:00:00.000000000 Z
11
+ date: 2015-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -140,6 +140,7 @@ files:
140
140
  - lib/winker/connection.rb
141
141
  - lib/winker/device.rb
142
142
  - lib/winker/devices/device_methods.rb
143
+ - lib/winker/devices/eggtray.rb
143
144
  - lib/winker/devices/generic_device.rb
144
145
  - lib/winker/devices/hub.rb
145
146
  - lib/winker/devices/light_bulb.rb