remotedroid 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8301a5580415c8ff56c7234afc06a753f8120a241a6fc55ec21f213d4fb3c547
4
- data.tar.gz: 582b60289878929ad00789a14f5fe1b709a7642c02a8ef0fd3361d4e32d68e14
3
+ metadata.gz: 71e486b66042dfefbfff3717043ded61f7847043a4afc37f1bd7b215076e280b
4
+ data.tar.gz: e7dee07206e7351a472fd9fb5c767979f7350f65630c7e1161dd7a14d1349347
5
5
  SHA512:
6
- metadata.gz: c25071dc6b9c5e2089453e0b90b0506d8a1990fe64619437c65642b32150ed50f6ab0ea89d5dfde0a858fe394bd8c804d83ee2acf58c6e04597dc27a807f1360
7
- data.tar.gz: 373ca3e9621934a9257b89c3bd1d860a86c54921927a2028846577d6a1baa200ca778605d8a9120f59dcae73b0805e13a11205dabc0a3ff743ed6f8a802ddb54
6
+ metadata.gz: '08933909445d0ec11a57c9f3006ac9874db4a48d21602a56993505f6c5350acc566a4fb4171e9e2423bd41c2957f6ae5be8294c51f4551808d71f277b1aab2b1'
7
+ data.tar.gz: 1b48179921c54abd6ad3d112c277133352a3496be7f092709f15463e5ced3418307d93b1aec0edc18167b16677541bea563c2116e8d0068a0becd2a365edc5dd
Binary file
data.tar.gz.sig CHANGED
@@ -1,2 +1 @@
1
- !}ZNu�!�L5V��>��b>i�8_�5��S��}����ެP���Ʋ���~�����b�Nn,V8OgŪ�k��0�y6v�
2
- Y]��u�9����G�#�l�f|������ -1�|����TDc����8�a� ?�����L~�٬3�0 �j�y�q��7�bLj�ۡ�����{ycyvYn<-5 [t�`~�n(:|��U<��?a��.�_��h���~�����2�V�b��p=oyDjV`~��jY�e�Mؒ�)^_� ҡ��XSj�׬�~(��J��G��a��`w��8}2cF���Iq��D�"@M��ПC�[�D� ����n1��L��q.�rH�T���8/�E� ��Z�B��^�M��'����
1
+ u`HI�0�\�`Ƅ���k�\���'_F d_U��9������K�Ǩ��������plj��B& �7!�e��ɋ�;�Q0�U�|�K������8��]yu�g$#(ۀ)�ă����H &���.$렐<�Ԙ��3ǜ��ÿύ:.�39O�'��i��~���A(Vg@����0\;H6�EÀ#��se�}N�%u�=�Mcx��/ܧ�D���O��p�rI��&,\.�? NˠJE]$Q�Y���٭сf�Fa>��U�J7ϧ;�{~a=r�������rk��(��pn�R��F��dx4�\&:{�O�A�W��>xȢI�@�?5j�4���D��jo���X�Fǭ����=�S�ŷ19u���:M��q
@@ -78,6 +78,7 @@ a:
78
78
  HTTP GET
79
79
  identifier: location
80
80
  coords: [lv=coords]
81
+ type: query
81
82
 
82
83
  m: shake device
83
84
  t: shake device
@@ -322,7 +323,7 @@ module RemoteDroid
322
323
  class Controller
323
324
 
324
325
  attr_reader :model, :control
325
- attr_accessor :title, :macros
326
+ attr_accessor :title, :macros, :store
326
327
 
327
328
  def initialize(mcs, model=MODEL, deviceid: nil, debug: false)
328
329
 
@@ -335,6 +336,8 @@ module RemoteDroid
335
336
  if model then
336
337
  @model = Model.new(model)
337
338
  end
339
+
340
+ @store = {}
338
341
 
339
342
  end
340
343
 
@@ -354,12 +357,12 @@ module RemoteDroid
354
357
  @model.op
355
358
  end
356
359
 
357
- def query(trigger)
360
+ def query(id)
358
361
 
359
- @h[trigger] = nil
362
+ @store[id] = nil
360
363
 
361
364
  # send http request via macrodroid.com API
362
- @control.http_exec trigger
365
+ @control.http_exec id
363
366
 
364
367
  # wait for the local variable to be updated
365
368
  # timeout after 5 seoncds
@@ -367,11 +370,11 @@ module RemoteDroid
367
370
 
368
371
  begin
369
372
  sleep 1
370
- end until @h[trigger] or Time.now > t + 5
373
+ end until @store[id] or Time.now > t + 5
371
374
 
372
- if @h[trigger] then
373
- yield(@h[trigger])
374
- end
375
+
376
+ return @store[id]
377
+
375
378
 
376
379
  end
377
380
 
@@ -408,10 +411,11 @@ module RemoteDroid
408
411
  end
409
412
 
410
413
  alias trigger_fired trigger
414
+
415
+ def update(key, val)
416
+ @store[key.to_sym] = val
417
+ end
411
418
 
412
- def store()
413
- @h
414
- end
415
419
 
416
420
  end
417
421
 
@@ -543,13 +547,29 @@ module RemoteDroid
543
547
  def invoke(s, *args)
544
548
  @drb.invoke(s, *args)
545
549
  end
550
+
551
+ def query(id)
552
+
553
+ t = Time.now
554
+ h = @drb.query(id)
555
+ h.merge({latency: (Time.now - t).round(3)})
556
+
557
+ end
558
+
559
+ def update(key, val)
560
+ @drb.update key.to_sym, val
561
+ end
562
+
563
+ def store()
564
+ @drb.store
565
+ end
546
566
 
547
567
  end
548
568
 
549
569
  class TriggerSubscriber < SPSSub
550
570
 
551
571
  def initialize(host: 'sps.home', drb_host: '127.0.0.1')
552
- @remote = OneDrb::Client.new host: drb_host, port: '5777'
572
+ @remote = OneDrb::Client.new host: drb_host, port: '5777'
553
573
  super(host: host)
554
574
  end
555
575
 
@@ -570,7 +590,7 @@ module RemoteDroid
570
590
  class ActionSubscriber < SPSSub
571
591
 
572
592
  def initialize(host: 'sps.home', drb_host: '127.0.0.1')
573
- @remote = OneDrb::Client.new host: drb_host, port: '5777'
593
+ @remote = OneDrb::Client.new host: drb_host, port: '5777'
574
594
  super(host: host)
575
595
  end
576
596
 
@@ -589,5 +609,23 @@ module RemoteDroid
589
609
 
590
610
  end
591
611
 
592
-
612
+ class ResponseSubscriber < SPSSub
613
+
614
+ def initialize(host: 'sps.home', drb_host: '127.0.0.1')
615
+ @remote = OneDrb::Client.new host: drb_host, port: '5777'
616
+ super(host: host)
617
+ end
618
+
619
+ def subscribe(topic: 'macrodroid/response')
620
+
621
+ super(topic: topic) do |msg|
622
+
623
+ id, json = msg.split(/:\s+/,2)
624
+ @remote.update id.to_sym, JSON.parse(json, symbolize_names: true)
625
+
626
+ end
627
+
628
+ end
629
+
630
+ end
593
631
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: remotedroid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file