ruby-macrodroid 0.8.11 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -416,19 +416,39 @@ 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
- @deviceid = h[:macro].deviceid
425
-
426
-
427
- if h[:identifier].nil? or h[:identifier].empty? then
428
- h[:identifier] = h[:macro].title.downcase
429
- end
430
448
 
431
- super(options.merge h)
449
+ @deviceid = h[:macro].deviceid
450
+
451
+ super(options.merge filter(options,h))
432
452
  @list << 'identifier'
433
453
 
434
454
  end
@@ -1379,8 +1399,21 @@ end
1379
1399
  #
1380
1400
  class ProximityTrigger < SensorsTrigger
1381
1401
 
1382
- def initialize(h={})
1402
+ def initialize(obj=nil)
1383
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
+
1384
1417
  if h[:distance] then
1385
1418
 
1386
1419
  case h[:distance].to_sym
@@ -1389,15 +1422,14 @@ class ProximityTrigger < SensorsTrigger
1389
1422
  end
1390
1423
  end
1391
1424
 
1392
- options = {
1393
- near: true,
1394
- selected_option: 0
1395
- }
1396
-
1397
1425
  super(options.merge h)
1398
1426
 
1399
1427
  end
1400
1428
 
1429
+ def match?(detail={}, model=nil)
1430
+ @h[:selected_option] == detail[:option].to_i
1431
+ end
1432
+
1401
1433
  def to_s(colour: false)
1402
1434
 
1403
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.11
4
+ version: 0.9.3
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-30 00:00:00.000000000 Z
38
+ date: 2020-10-08 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