ruby-macrodroid 0.8.10 → 0.9.2
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 +4 -1
- data/lib/ruby-macrodroid.rb +29 -261
- data/lib/ruby-macrodroid/actions.rb +196 -47
- data/lib/ruby-macrodroid/base.rb +21 -15
- data/lib/ruby-macrodroid/constraints.rb +1338 -0
- data/lib/ruby-macrodroid/macro.rb +498 -27
- data/lib/ruby-macrodroid/triggers.rb +49 -10
- metadata +11 -10
- metadata.gz.sig +0 -0
@@ -416,20 +416,47 @@ end
|
|
416
416
|
#
|
417
417
|
class WebHookTrigger < Trigger
|
418
418
|
|
419
|
-
def initialize(
|
419
|
+
def initialize(obj={})
|
420
|
+
|
421
|
+
h = if obj.is_a? Hash then
|
422
|
+
obj
|
423
|
+
elsif obj.is_a? Array
|
424
|
+
|
425
|
+
e, macro = obj
|
426
|
+
txt = e.text('item/description')
|
427
|
+
|
428
|
+
h2 = if txt then
|
429
|
+
{url: (txt || e.text)}
|
430
|
+
else
|
431
|
+
a = e.xpath('item/*')
|
432
|
+
a.map {|node| [node.name.to_sym, node.text.to_s]}.to_h
|
433
|
+
end
|
434
|
+
|
435
|
+
h2.merge(macro: macro)
|
436
|
+
end
|
437
|
+
|
438
|
+
if h[:url] then
|
439
|
+
h[:identifier] = h[:url]\
|
440
|
+
[/https:\/\/trigger.macrodroid.com\/(?:\w+\-){4}\w+\/([^$]+)/,1]
|
441
|
+
elsif h[:identifier].nil? or h[:identifier].empty? then
|
442
|
+
h[:identifier] = h[:macro].title.downcase.gsub(/ +/,'-')
|
443
|
+
end
|
420
444
|
|
421
445
|
options = {
|
422
446
|
identifier: ''
|
423
447
|
}
|
424
|
-
|
425
|
-
|
448
|
+
|
449
|
+
@deviceid = h[:macro].deviceid
|
450
|
+
|
451
|
+
super(options.merge filter(options,h))
|
452
|
+
@list << 'identifier'
|
426
453
|
|
427
454
|
end
|
428
455
|
|
429
456
|
def to_s(colour: false)
|
430
457
|
|
431
458
|
url = "https://trigger.macrodroid.com/%s/%s" % \
|
432
|
-
[@
|
459
|
+
[@deviceid, @h[:identifier]]
|
433
460
|
@s = 'WebHook (Url)' + "\n " + url
|
434
461
|
super()
|
435
462
|
|
@@ -1372,8 +1399,21 @@ end
|
|
1372
1399
|
#
|
1373
1400
|
class ProximityTrigger < SensorsTrigger
|
1374
1401
|
|
1375
|
-
def initialize(
|
1402
|
+
def initialize(obj=nil)
|
1376
1403
|
|
1404
|
+
h = if obj.is_a? Hash then
|
1405
|
+
obj
|
1406
|
+
elsif obj.is_a? Array
|
1407
|
+
e, macro = obj
|
1408
|
+
txt = e.text('item/description')
|
1409
|
+
{option: (txt || e.text), macro: macro}
|
1410
|
+
end
|
1411
|
+
|
1412
|
+
options = {
|
1413
|
+
near: true,
|
1414
|
+
selected_option: 0
|
1415
|
+
}
|
1416
|
+
|
1377
1417
|
if h[:distance] then
|
1378
1418
|
|
1379
1419
|
case h[:distance].to_sym
|
@@ -1382,15 +1422,14 @@ class ProximityTrigger < SensorsTrigger
|
|
1382
1422
|
end
|
1383
1423
|
end
|
1384
1424
|
|
1385
|
-
options = {
|
1386
|
-
near: true,
|
1387
|
-
selected_option: 0
|
1388
|
-
}
|
1389
|
-
|
1390
1425
|
super(options.merge h)
|
1391
1426
|
|
1392
1427
|
end
|
1393
1428
|
|
1429
|
+
def match?(detail={}, model=nil)
|
1430
|
+
@h[:selected_option] == detail[:option].to_i
|
1431
|
+
end
|
1432
|
+
|
1394
1433
|
def to_s(colour: false)
|
1395
1434
|
|
1396
1435
|
distance = if @h[:near] then
|
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.
|
4
|
+
version: 0.9.2
|
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-
|
38
|
+
date: 2020-10-05 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: glw
|
@@ -81,22 +81,22 @@ dependencies:
|
|
81
81
|
name: rowx
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.7.0
|
87
84
|
- - "~>"
|
88
85
|
- !ruby/object:Gem::Version
|
89
86
|
version: '0.7'
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.7.3
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: 0.7.0
|
97
94
|
- - "~>"
|
98
95
|
- !ruby/object:Gem::Version
|
99
96
|
version: '0.7'
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.7.3
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
101
|
name: subunit
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
version: '1.1'
|
147
147
|
- - ">="
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version: 1.1.
|
149
|
+
version: 1.1.3
|
150
150
|
type: :runtime
|
151
151
|
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -156,7 +156,7 @@ dependencies:
|
|
156
156
|
version: '1.1'
|
157
157
|
- - ">="
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.1.
|
159
|
+
version: 1.1.3
|
160
160
|
- !ruby/object:Gem::Dependency
|
161
161
|
name: chronic_cron
|
162
162
|
requirement: !ruby/object:Gem::Requirement
|
@@ -186,6 +186,7 @@ files:
|
|
186
186
|
- lib/ruby-macrodroid.rb
|
187
187
|
- lib/ruby-macrodroid/actions.rb
|
188
188
|
- lib/ruby-macrodroid/base.rb
|
189
|
+
- lib/ruby-macrodroid/constraints.rb
|
189
190
|
- lib/ruby-macrodroid/macro.rb
|
190
191
|
- lib/ruby-macrodroid/triggers.rb
|
191
192
|
homepage: https://github.com/jrobertson/ruby-macrodroid
|
metadata.gz.sig
CHANGED
Binary file
|