remotedroid 0.2.0 → 0.3.0

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: 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