37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# File 'lib/ruby-macrodroid/macro.rb', line 37
def triggers(params)
get /^(?:at )?(\d+:\d+(?:[ap]m)?) daily/i do |time, days|
[TimerTrigger, {time: time,
days: %w(Mon Tue Wed Thu Fri Sat Sun).join(', ')}]
end
get /^(?:at )?(\d+:\d+(?:[ap]m)?) (?:on )?(.*)/i do |time, days|
[TimerTrigger, {time: time, days: days}]
end
get /^time.is\? ['"](?:at )?(\d+:\d+(?:[ap]m)?) (?:on )?(.*)['"]/i do |time, days|
[TimerTrigger, {time: time, days: days.gsub(' or ',', ')}]
end
get /^shake[ _]device\??$/i do
[ShakeDeviceTrigger, {}]
end
get /^Flip Device (.*)$/i do |motion|
facedown = motion =~ /Face Up (?:->|to) Face Down/i
[FlipDeviceTrigger, {face_down: facedown }]
end
get /^flip_device_down\?$/i do
[FlipDeviceTrigger, {face_down: true }]
end
get /^flip_device_up\?$/i do
[FlipDeviceTrigger, {face_down: false }]
end
get /^Failed Login Attempt$/i do
[FailedLoginTrigger, {}]
end
get /^failed_login?$/i do
[FailedLoginTrigger, {}]
end
get /^Geofence (Entry|Exit) \(([^\)]+)/i do |direction, name|
enter_area = direction.downcase.to_sym == :entry
[GeofenceTrigger, {name: name, enter_area: enter_area}]
end
get /^location (entered|exited) \(([^\)]+)/i do |direction, name|
enter_area = direction.downcase.to_sym == :entered
[GeofenceTrigger, {name: name, enter_area: enter_area}]
end
get /^Proximity Sensor \(([^\)]+)\)/i do |distance|
[ProximityTrigger, {distance: distance}]
end
get /^Proximity (near|far|slow wave|fast wave)/i do |distance|
[ProximityTrigger, {distance: distance}]
end
get /^WebHook \(Url\)/i do
[WebHookTrigger, params]
end
get /^WebHook/i do
[WebHookTrigger, params]
end
get /^wh/i do
[WebHookTrigger, params]
end
get /^EmptyTrigger$/i do
[EmptyTrigger, params]
end
end
|