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.
@@ -416,20 +416,47 @@ end
416
416
  #
417
417
  class WebHookTrigger < Trigger
418
418
 
419
- def initialize(h={})
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
- super(options.merge h)
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
- [@h[:macro].deviceid, @h[:identifier]]
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(h={})
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.8.10
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-09-28 00:00:00.000000000 Z
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.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.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