ruby-macrodroid 0.7.2 → 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70dd1172a7d2ad827ff72771851910b140616b3f41fd7843ef65dc5bdf55fd5e
4
- data.tar.gz: d5ef7e748dd16bfbc83e0ca05932a2b7723c61ea2ee2fbc8f69ef1c77c651ef0
3
+ metadata.gz: cd79e55449071a3fd0ed864f58fc606dedd69059413876c7466cb071f651fef4
4
+ data.tar.gz: 70dbc1fd844ff449d0ef1ca680e9b47e5233ff82148ab93063b65d9a87e5f70c
5
5
  SHA512:
6
- metadata.gz: 91746fa312b8c1c5069c16f5c7337b1f6f438af8afecedc5e6469f21e00f98108788f3248d8d93284d9829858b0bf11ce5ad1591bba4a7f8f4ed1005a71c111c
7
- data.tar.gz: bd1cefc341fd57809b563f1a4f21f013b3fe3e93143cef0c07862bdfe738ca6479e39c86a80355c110bd786da5b63849cc59616c7d67be58750c4ff2c68a47c3
6
+ metadata.gz: 1912e55be98c1236a2df6f17e5e19aa1de75e89854ca3be343821133e841656bb45c116e195237a313726b590c31bb7c898f8cf54f868f37c26f3dd9b11f4694
7
+ data.tar.gz: fdc3adcb802125e4346bbed8fc089e57a303d2f5624e20fe6b597b03a594ae50ca388b13c54bcb43da3bfb265e6fabc1b46f00119a48f199645ee5d8bdcf0c24
@@ -1,2 +1,2 @@
1
- <%��_ER���c���{�u[e'z���ZK����<��5Oj{�Brv��b���g�m�
2
- C9�� ;�X��/�O{��#�z˕�@�9D89���ʲ)�؋�ӱ��|p wg�-h�������d�Q6���ZfQP�^,c�co:�+2ɢ0u����L௲w�� !�Ҁ:+|cZ��T{���Ƀ�IU$�475�s���g�ub
1
+ Q�-�N��R�3@��[L]��}p�֔!DSpIQ���ϤuV9���]\�h�����
2
+ +ŷ����n#,���M���{׽���O'!<��SQp����RR$�im�ra���O�$���C[��G>�{�0��/�4Qc��#����~OLI9�Ǽ�H����kN�j2��mF����Tn��w��z4<���6{�#�u\6g[x ,�8���G\�)K%�ۤWşO9%��$�N`�\���A�� *r萳��h�����mp�m j��j��O-8��� >�G�Fa����x+`TG��/j�&�I+gB�ڵ`�N��<:���‚���bIr�#�:�<�2y4G c-�(L���(�x��~��4
data.tar.gz.sig CHANGED
Binary file
@@ -113,7 +113,10 @@ require 'uuid'
113
113
  #require 'glw'
114
114
  #require 'geozone'
115
115
  require 'subunit'
116
- require 'rxfhelper'
116
+ #require 'rxfhelper'
117
+ require 'requestor'
118
+ eval Requestor.read('http://a0.jamesrobertson.eu/rorb/r/ruby'){|x| x.require 'rxfhelper' }
119
+
117
120
  require 'chronic_cron'
118
121
 
119
122
 
@@ -659,18 +662,55 @@ EOF
659
662
 
660
663
  def to_s()
661
664
 
665
+ indent = 0
666
+ actions = @actions.map do |x|
667
+
668
+ s = x.to_s
669
+
670
+ r = if indent <= 0 then
671
+
672
+ "a: %s" % s
673
+
674
+ elsif indent > 0
675
+
676
+ if s =~ /^Else/ then
677
+ (' ' * (indent-1)) + "%s" % s
678
+ elsif s =~ /^End/
679
+ indent -= 1
680
+ (' ' * indent) + "%s" % s
681
+ else
682
+ (' ' * indent) + "%s" % s
683
+ end
684
+
685
+ end
686
+
687
+ if s =~ /^If/i then
688
+ if indent < 1 then
689
+ r = "a:\n %s" % s
690
+ indent += 1
691
+ else
692
+ r = (' ' * indent) + "%s" % s
693
+ end
694
+
695
+ indent += 1
696
+ end
697
+
698
+ r
699
+
700
+ end.join("\n")
701
+
662
702
  a = [
663
703
  'm: ' + @title,
664
704
  @triggers.map {|x| "t: %s" % x}.join("\n"),
665
- @actions.map {|x| "a: %s" % x}.join("\n"),
705
+ actions,
666
706
  @constraints.map {|x| "a: %s" % x}.join("\n")
667
707
  ]
668
708
 
669
709
  if @description and @description.length >= 1 then
670
- a.insert(1, 'd: ' + @description)
710
+ a.insert(1, 'd: ' + @description.gsub(/\n/,"\n "))
671
711
  end
672
712
 
673
- a.join("\n")
713
+ a.join("\n") + "\n"
674
714
 
675
715
  end
676
716
 
@@ -719,7 +759,7 @@ class MacroDroid
719
759
  using ColouredText
720
760
  using Params
721
761
 
722
- attr_reader :macros, :geofences
762
+ attr_reader :macros, :geofences, :yaml
723
763
 
724
764
  def initialize(obj=nil, debug: false)
725
765
 
@@ -897,6 +937,7 @@ class MacroDroid
897
937
 
898
938
  h = JSON.parse(s, symbolize_names: true)
899
939
  puts 'json_to_yaml: ' + h.to_yaml if @debug
940
+ @yaml = h.to_yaml # helpful for debugging and testing
900
941
 
901
942
  @h = h.to_snake_case
902
943
  puts ('@h: ' + @h.inspect).debug if @debug
@@ -1079,13 +1120,32 @@ class MacroObject
1079
1120
  UUID.new.generate
1080
1121
  end
1081
1122
 
1123
+ def object(h={})
1124
+
1125
+ puts ('inside object h:' + h.inspect).debug if @debug
1126
+ klass = Object.const_get h[:class_type]
1127
+ puts klass.inspect.highlight if $debug
1128
+
1129
+ klass.new h
1130
+
1131
+ end
1132
+
1082
1133
  end
1083
1134
 
1084
1135
  class Trigger < MacroObject
1085
-
1136
+ using Params
1137
+
1138
+ attr_reader :constraints
1139
+
1086
1140
  def initialize(h={})
1087
1141
  super({fakeIcon: 0}.merge(h))
1088
1142
  @list << 'fakeIcon'
1143
+
1144
+ # fetch the constraints
1145
+ @constraints = h[:constraint_list].map do |constraint|
1146
+ object(constraint.to_snake_case)
1147
+ end
1148
+
1089
1149
  end
1090
1150
 
1091
1151
  def match?(detail={}, model=nil)
@@ -1198,6 +1258,11 @@ class BatteryLevelTrigger < Trigger
1198
1258
  super(options.merge h)
1199
1259
 
1200
1260
  end
1261
+
1262
+ def to_s()
1263
+ operator = @h[:decreases_to] ? '<=' : '>='
1264
+ "Battery %s %s%%" % [operator, @h[:battery_level]]
1265
+ end
1201
1266
 
1202
1267
  end
1203
1268
 
@@ -1845,6 +1910,10 @@ class DeviceUnlockedTrigger < DeviceEventsTrigger
1845
1910
  super(options.merge h)
1846
1911
 
1847
1912
  end
1913
+
1914
+ def to_s()
1915
+ 'Screen Unlocked'
1916
+ end
1848
1917
 
1849
1918
  end
1850
1919
 
@@ -2314,9 +2383,17 @@ end
2314
2383
 
2315
2384
 
2316
2385
  class Action < MacroObject
2386
+ using Params
2387
+
2388
+ attr_reader :constraints
2317
2389
 
2318
2390
  def initialize(h={})
2319
2391
  super(h)
2392
+
2393
+ # fetch the constraints
2394
+ @constraints = h[:constraint_list].map do |constraint|
2395
+ object(constraint.to_snake_case)
2396
+ end
2320
2397
  end
2321
2398
 
2322
2399
  def invoke(s='')
@@ -2491,6 +2568,64 @@ class TakePictureAction < CameraAction
2491
2568
 
2492
2569
  end
2493
2570
 
2571
+ class IfConditionAction < Action
2572
+
2573
+ def initialize(h={})
2574
+
2575
+ options = {
2576
+ a: true,
2577
+ constraint_list: ''
2578
+ }
2579
+
2580
+ super(options.merge h)
2581
+
2582
+ end
2583
+
2584
+ def to_s()
2585
+
2586
+ operator = @h[:is_or_condition] ? 'OR' : 'AND'
2587
+ r = 'If ' + @constraints.map(&:to_s).join(" %s " % operator)
2588
+ puts 'if ... @h ' + @h.inspect
2589
+ r
2590
+
2591
+ end
2592
+ end
2593
+
2594
+ class ElseAction < Action
2595
+
2596
+ def initialize(h={})
2597
+
2598
+ options = {
2599
+ constraint_list: ''
2600
+ }
2601
+
2602
+ super(options.merge h)
2603
+
2604
+ end
2605
+
2606
+ def to_s()
2607
+ 'Else'
2608
+ end
2609
+
2610
+ end
2611
+
2612
+ class EndIfAction < Action
2613
+
2614
+ def initialize(h={})
2615
+
2616
+ options = {
2617
+ constraint_list: ''
2618
+ }
2619
+
2620
+ super(options.merge h)
2621
+
2622
+ end
2623
+
2624
+ def to_s()
2625
+ 'End If'
2626
+ end
2627
+
2628
+ end
2494
2629
 
2495
2630
  class ConnectivityAction < Action
2496
2631
 
@@ -2863,6 +2998,17 @@ class VibrateAction < DeviceSettingsAction
2863
2998
  super(options.merge h)
2864
2999
 
2865
3000
  end
3001
+
3002
+ def to_s()
3003
+
3004
+ pattern = [
3005
+ 'Blip', 'Short Buzz', 'Long Buzz', 'Rapid', 'Slow', 'Increasing',
3006
+ 'Constant', 'Decreasing', 'Final Fantasy', 'Game Over', 'Star Wars',
3007
+ 'Mini Blip', 'Micro Blip'
3008
+ ]
3009
+
3010
+ 'Vibrate ' + "(%s)" % pattern[@h[:vibrate_pattern].to_i]
3011
+ end
2866
3012
 
2867
3013
  end
2868
3014
 
@@ -3872,6 +4018,21 @@ class BatteryLevelConstraint < Constraint
3872
4018
  super(options.merge h)
3873
4019
 
3874
4020
  end
4021
+
4022
+ def to_s()
4023
+
4024
+ operator = if @h[:greater_than] then
4025
+ '>'
4026
+ elsif @h[:equals]
4027
+ '='
4028
+ else
4029
+ '<'
4030
+ end
4031
+
4032
+ level = @h[:battery_level]
4033
+
4034
+ "Battery %s %s%%" % [operator, level]
4035
+ end
3875
4036
 
3876
4037
  end
3877
4038
 
@@ -3923,6 +4084,11 @@ class ExternalPowerConstraint < Constraint
3923
4084
  super(options.merge h)
3924
4085
 
3925
4086
  end
4087
+
4088
+ def to_s()
4089
+ connection = @h[:external_power] ? 'Connected' : 'Disconnected'
4090
+ 'Power ' + connection
4091
+ end
3926
4092
 
3927
4093
  end
3928
4094
 
@@ -3941,6 +4107,12 @@ class BluetoothConstraint < Constraint
3941
4107
  super(options.merge h)
3942
4108
 
3943
4109
  end
4110
+
4111
+ def to_s()
4112
+ device = @h[:device_name] #== 'Any Device' ? 'Any' : @h[:device_name]
4113
+ "Device Connected (%s)" % device
4114
+ end
4115
+
3944
4116
 
3945
4117
  end
3946
4118
 
@@ -4265,6 +4437,10 @@ class DeviceLockedConstraint < Constraint
4265
4437
  super(options.merge h)
4266
4438
 
4267
4439
  end
4440
+
4441
+ def to_s()
4442
+ 'Device ' + (@h[:locked] ? 'Locked' : 'Unlocked')
4443
+ end
4268
4444
 
4269
4445
  end
4270
4446
 
@@ -4451,6 +4627,11 @@ class HeadphonesConnectionConstraint < Constraint
4451
4627
  super(options.merge h)
4452
4628
 
4453
4629
  end
4630
+
4631
+ def to_s()
4632
+ connection = @h[:connected] ? 'Connected' : 'Disconnected'
4633
+ 'Headphones ' + connection
4634
+ end
4454
4635
 
4455
4636
  end
4456
4637
 
@@ -4640,6 +4821,10 @@ class ScreenOnOffConstraint < Constraint
4640
4821
  super(options.merge h)
4641
4822
 
4642
4823
  end
4824
+
4825
+ def to_s()
4826
+ 'Screen ' + (@h[:screen_on] ? 'On' : 'Off')
4827
+ end
4643
4828
 
4644
4829
  end
4645
4830
 
@@ -4693,6 +4878,14 @@ class LightLevelConstraint < Constraint
4693
4878
  super(options.merge h)
4694
4879
 
4695
4880
  end
4881
+
4882
+ def to_s()
4883
+
4884
+ operator = @h[:light_level] == -1 ? 'Less than' : 'Greater than'
4885
+ condition = operator + ' ' + @h[:light_level_float].to_s + 'lx'
4886
+ 'Light Sensor ' + condition
4887
+
4888
+ end
4696
4889
 
4697
4890
  end
4698
4891
 
@@ -4725,5 +4918,9 @@ class ProximitySensorConstraint < Constraint
4725
4918
  super(options.merge h)
4726
4919
 
4727
4920
  end
4921
+
4922
+ def to_s()
4923
+ 'Proximity Sensor: ' + (@h[:near] ? 'Near' : 'Far')
4924
+ end
4728
4925
 
4729
4926
  end
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.7.2
4
+ version: 0.7.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-05 00:00:00.000000000 Z
38
+ date: 2020-09-07 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: glw
metadata.gz.sig CHANGED
Binary file