ruby-macrodroid 0.9.6 → 0.9.11
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
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/ruby-macrodroid.rb +53 -35
- data/lib/ruby-macrodroid/actions.rb +162 -55
- data/lib/ruby-macrodroid/actionsnlp.rb +244 -0
- data/lib/ruby-macrodroid/base.rb +7 -5
- data/lib/ruby-macrodroid/constraints.rb +11 -3
- data/lib/ruby-macrodroid/constraintsnlp.rb +75 -0
- data/lib/ruby-macrodroid/macro.rb +26 -451
- data/lib/ruby-macrodroid/triggers.rb +5 -0
- data/lib/ruby-macrodroid/triggersnlp.rb +150 -0
- metadata +5 -2
- metadata.gz.sig +0 -0
@@ -1199,6 +1199,11 @@ class ScreenOnOffTrigger < DeviceEventsTrigger
|
|
1199
1199
|
|
1200
1200
|
end
|
1201
1201
|
|
1202
|
+
def match?(detail={}, model=nil)
|
1203
|
+
#@h[:screen_on] == detail[:screen_on]
|
1204
|
+
true
|
1205
|
+
end
|
1206
|
+
|
1202
1207
|
def to_s(colour: false)
|
1203
1208
|
'Screen ' + (@h[:screen_on] ? 'On' : 'Off')
|
1204
1209
|
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# file: triggersnlp.rb
|
4
|
+
|
5
|
+
|
6
|
+
class TriggersNlp
|
7
|
+
include AppRoutes
|
8
|
+
using ColouredText
|
9
|
+
|
10
|
+
def initialize(macro=nil)
|
11
|
+
|
12
|
+
super()
|
13
|
+
params = {macro: macro}
|
14
|
+
triggers(params)
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
def triggers(params)
|
19
|
+
|
20
|
+
# -- Battery/Power ---------------------------------------------
|
21
|
+
|
22
|
+
get /^Power Connected: (Wired \([^\)]+\))/i do |s|
|
23
|
+
|
24
|
+
h = {
|
25
|
+
power_connected_options: [true, true, true],
|
26
|
+
has_set_usb_option: true,
|
27
|
+
power_connected: true
|
28
|
+
}
|
29
|
+
|
30
|
+
a = ['Wired (Fast Charge)', 'Wireless', 'Wired (Slow Charge)']
|
31
|
+
|
32
|
+
puts ('s: ' + s.inspect).debug
|
33
|
+
|
34
|
+
options = s.downcase.split(/ \+ /)
|
35
|
+
puts ('options: ' + options.inspect).debug
|
36
|
+
|
37
|
+
h[:power_connected_options] = a.map {|x| options.include? x.downcase }
|
38
|
+
|
39
|
+
[ExternalPowerTrigger, h]
|
40
|
+
end
|
41
|
+
|
42
|
+
get /^Power Connected: Any/i do |s|
|
43
|
+
|
44
|
+
h = {
|
45
|
+
power_connected_options: [true, true, true],
|
46
|
+
has_set_usb_option: true,
|
47
|
+
power_connected: true
|
48
|
+
}
|
49
|
+
|
50
|
+
[ExternalPowerTrigger, h]
|
51
|
+
end
|
52
|
+
|
53
|
+
# -- Device Events ----------------------------------------------------
|
54
|
+
|
55
|
+
get /^Screen[ _](On|Off)/i do |state|
|
56
|
+
[ScreenOnOffTrigger, {screen_on: state.downcase == 'on'}]
|
57
|
+
end
|
58
|
+
|
59
|
+
# e.g. at 7:30pm daily
|
60
|
+
get /^(?:at )?(\d+:\d+(?:[ap]m)?) daily/i do |time, days|
|
61
|
+
[TimerTrigger, {time: time,
|
62
|
+
days: %w(Mon Tue Wed Thu Fri Sat Sun).join(', ')}]
|
63
|
+
end
|
64
|
+
|
65
|
+
get /^(?:at )?(\d+:\d+(?:[ap]m)?) (?:on )?(.*)/i do |time, days|
|
66
|
+
[TimerTrigger, {time: time, days: days}]
|
67
|
+
end
|
68
|
+
|
69
|
+
# time.is? 'at 18:30pm on Mon or Tue'
|
70
|
+
get /^time.is\? ['"](?:at )?(\d+:\d+(?:[ap]m)?) (?:on )?(.*)['"]/i do |time, days|
|
71
|
+
[TimerTrigger, {time: time, days: days.gsub(' or ',', ')}]
|
72
|
+
end
|
73
|
+
|
74
|
+
get /^shake[ _]device\??$/i do
|
75
|
+
[ShakeDeviceTrigger, {}]
|
76
|
+
end
|
77
|
+
|
78
|
+
get /^Flip Device (.*)$/i do |motion|
|
79
|
+
facedown = motion =~ /Face Up (?:->|to) Face Down/i
|
80
|
+
[FlipDeviceTrigger, {face_down: facedown }]
|
81
|
+
end
|
82
|
+
|
83
|
+
get /^flip_device_down\?$/i do
|
84
|
+
[FlipDeviceTrigger, {face_down: true }]
|
85
|
+
end
|
86
|
+
|
87
|
+
get /^flip_device_up\?$/i do
|
88
|
+
[FlipDeviceTrigger, {face_down: false }]
|
89
|
+
end
|
90
|
+
|
91
|
+
get /^Failed Login Attempt$/i do
|
92
|
+
[FailedLoginTrigger, {}]
|
93
|
+
end
|
94
|
+
|
95
|
+
get /^failed_login?$/i do
|
96
|
+
[FailedLoginTrigger, {}]
|
97
|
+
end
|
98
|
+
|
99
|
+
get /^Geofence (Entry|Exit) \(([^\)]+)/i do |direction, name|
|
100
|
+
enter_area = direction.downcase.to_sym == :entry
|
101
|
+
[GeofenceTrigger, {name: name, enter_area: enter_area}]
|
102
|
+
end
|
103
|
+
|
104
|
+
get /^location (entered|exited) \(([^\)]+)/i do |direction, name|
|
105
|
+
enter_area = direction.downcase.to_sym == :entered
|
106
|
+
[GeofenceTrigger, {name: name, enter_area: enter_area}]
|
107
|
+
end
|
108
|
+
|
109
|
+
# eg. Proximity Sensor (Near)
|
110
|
+
#
|
111
|
+
get /^Proximity Sensor \(([^\)]+)\)/i do |distance|
|
112
|
+
|
113
|
+
[ProximityTrigger, {distance: distance}]
|
114
|
+
end
|
115
|
+
|
116
|
+
# eg. Proximity near
|
117
|
+
#
|
118
|
+
get /^Proximity (near|far|slow wave|fast wave)/i do |distance|
|
119
|
+
|
120
|
+
[ProximityTrigger, {distance: distance}]
|
121
|
+
end
|
122
|
+
|
123
|
+
get /^WebHook \(Url\)/i do
|
124
|
+
[WebHookTrigger, params]
|
125
|
+
end
|
126
|
+
|
127
|
+
get /^WebHook/i do
|
128
|
+
[WebHookTrigger, params]
|
129
|
+
end
|
130
|
+
|
131
|
+
get /^wh/i do
|
132
|
+
[WebHookTrigger, params]
|
133
|
+
end
|
134
|
+
|
135
|
+
# MacroDroid specific ---------------------------------------------------------------
|
136
|
+
|
137
|
+
get /^EmptyTrigger$/i do
|
138
|
+
[EmptyTrigger, params]
|
139
|
+
end
|
140
|
+
|
141
|
+
end
|
142
|
+
|
143
|
+
alias find_trigger run_route
|
144
|
+
|
145
|
+
def to_s(colour: false)
|
146
|
+
'TriggersNlp ' + @h.inspect
|
147
|
+
end
|
148
|
+
|
149
|
+
alias to_summary to_s
|
150
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-macrodroid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
NZ2kdBIUDnAM24e0/wXdVxg4HnsZbdymxyzMQ4P5pKYcpI6oisBxI37p/Xy+wAg3
|
36
36
|
SBHno3GEuuD8ZWj24IMJpfbp
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2020-10-
|
38
|
+
date: 2020-10-19 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: glw
|
@@ -185,10 +185,13 @@ extra_rdoc_files: []
|
|
185
185
|
files:
|
186
186
|
- lib/ruby-macrodroid.rb
|
187
187
|
- lib/ruby-macrodroid/actions.rb
|
188
|
+
- lib/ruby-macrodroid/actionsnlp.rb
|
188
189
|
- lib/ruby-macrodroid/base.rb
|
189
190
|
- lib/ruby-macrodroid/constraints.rb
|
191
|
+
- lib/ruby-macrodroid/constraintsnlp.rb
|
190
192
|
- lib/ruby-macrodroid/macro.rb
|
191
193
|
- lib/ruby-macrodroid/triggers.rb
|
194
|
+
- lib/ruby-macrodroid/triggersnlp.rb
|
192
195
|
homepage: https://github.com/jrobertson/ruby-macrodroid
|
193
196
|
licenses:
|
194
197
|
- MIT
|
metadata.gz.sig
CHANGED
Binary file
|