WinkerAI 0.0.04 → 0.0.05
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/winker_ai/triggers.rb +30 -1
- data/lib/winker_ai/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b84390c30f2bf9e3683c33f86b28f2a944c2b954
|
4
|
+
data.tar.gz: 76de921e222739c674545c228f0597a85ab9a55c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80795c17257b1b703e47ab271023cd2d95f02f2038a186c2708a807ada3239aeebe261f62434c6d2d6d92140c771d5a8aed134584997091e6a59ca32f500948e
|
7
|
+
data.tar.gz: ff1c9979267c006f60a58dab79cd1f5d1a29f01327b8786f91a0619609f0e35369194f5945ad846786e6765df38d5245caeabb82ee676499f553e6938c1f6ad9
|
data/lib/winker_ai/triggers.rb
CHANGED
@@ -25,6 +25,7 @@ module WinkerAI
|
|
25
25
|
# }
|
26
26
|
|
27
27
|
LIGHT_TRIGGERS = %w(dim raise lower shut turn)
|
28
|
+
EGG_TRIGGERS = %w(eggs)
|
28
29
|
|
29
30
|
NUMBERS_MODIFIER = {
|
30
31
|
"twenty" => 20,
|
@@ -66,21 +67,45 @@ module WinkerAI
|
|
66
67
|
}
|
67
68
|
|
68
69
|
LIGHT_TYPES = %w(light_bulb)
|
70
|
+
EGG_TYPES = %w(eggtray)
|
69
71
|
|
70
72
|
def self.check_for_trigger(string)
|
71
73
|
case string
|
72
74
|
when /(#{LIGHT_TRIGGERS.join("|")}).*lights{0,1}/
|
73
75
|
puts "handling lights"
|
74
76
|
handle_lights(string)
|
77
|
+
when /(#{EGG_TRIGGERS.join("|")})/
|
78
|
+
puts "handling eggs"
|
79
|
+
handle_eggs(string)
|
75
80
|
else
|
76
81
|
#do nothing
|
77
82
|
end
|
78
83
|
end
|
79
84
|
|
85
|
+
def self.handle_eggs(string)
|
86
|
+
`osascript -e "set Volume 5"`
|
87
|
+
case string
|
88
|
+
when /eggs.*(going bad|close|soon)/
|
89
|
+
`say 'There are #{eggs.map(&:eggs_warning).flatten.count} eggs that are about to go bad.'`
|
90
|
+
when /eggs.*are (bad|past|expired)/
|
91
|
+
`say 'There are #{eggs.map(&:eggs_warning).flatten.count} eggs that are past the expiration date.'`
|
92
|
+
when /how many.*eggs/
|
93
|
+
`say 'There are #{eggs.sum(&:count)} eggs left.'`
|
94
|
+
when /eggs.*expire/
|
95
|
+
if days = eggs.map(&:days_left).sort.first
|
96
|
+
`say 'There are #{days} days left until your first egg expires.'`
|
97
|
+
else
|
98
|
+
`say 'There are no eggs left.'`
|
99
|
+
end
|
100
|
+
else
|
101
|
+
#do nothing didn't find the proper egg question
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
80
105
|
def self.handle_lights(string)
|
81
106
|
number = find_number(string)
|
82
107
|
devices = $wink_groups.select{|d| string.match(/#{d.name}/i)}
|
83
|
-
devices =
|
108
|
+
devices = lights.select{|d| string.match(/#{d.name}/i)} if devices.empty?
|
84
109
|
case
|
85
110
|
when number && string.match(/(#{LIGHT_TRIGGERS.join("|")})/) && !devices.empty?
|
86
111
|
puts "case 1"
|
@@ -165,6 +190,10 @@ module WinkerAI
|
|
165
190
|
$wink_devices.select{|d| LIGHT_TYPES.include?(d.type)}
|
166
191
|
end
|
167
192
|
|
193
|
+
def self.eggs
|
194
|
+
$wink_devices.select{|d| EGG_TYPES.include?(d.type)}
|
195
|
+
end
|
196
|
+
|
168
197
|
def self.setup
|
169
198
|
Winker.configure do |wink|
|
170
199
|
wink.client_id = ENV['WINK_CLIENT_ID']
|
data/lib/winker_ai/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: WinkerAI
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.05
|
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-
|
11
|
+
date: 2015-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|