ruby-macrodroid 0.8.10 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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