remotedroid 0.5.2 → 0.6.1

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: 99592d4ac1baaef0d04b87d8bb9dd6cfcbdfc5572dacc39c6fabbd5a960f85f3
4
- data.tar.gz: a5fbd36d797423dd183dccbb2351736ac58f706acf3b88932ae737d43e55a8e9
3
+ metadata.gz: f464457d6a2b72b862d9f461ce541e65a242c3ed1a0a92c24223c5a6b917969d
4
+ data.tar.gz: 93e362cc4b51741d7245bd68eaa5dd30fef270b7c92269243bd01bfa93f6e206
5
5
  SHA512:
6
- metadata.gz: 893732ed1fb124c982bdcd6b55d4d2f54acd9a32256d707cde13a13d86fb9547a9b126ab6200b98ed211ae739cf42e95136c5fe444fbd435646607b6e8fda9a7
7
- data.tar.gz: a651dd655ab1dcb59549d7abd5d32a948f4fbf04ec134f9c35ff104ff7f9def9308a8f8acf9751e7cefa27e7ca4517af7e310a5603de6ab6a196271a1ca54b5c
6
+ metadata.gz: 35c018689e167a3ea7ba58d722b4a7964b7c7696c4f0aa4ba8be583deebd00f80c0353c787be91e2ba6a969d27de80f5a989685be238da808c231b0a0396ccaa
7
+ data.tar.gz: fe5f330c8958cb4bbe60b97ade143e85b6b2d3139240f0f73dd28ed5d8133222616460124e946a6e627d21681de7fb1a6fddb7ddbff845d3f66307c603a7a032
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -45,6 +45,7 @@ require 'ruby-macrodroid'
45
45
  # ## Camera/Photo
46
46
  #
47
47
  # * Take Picture
48
+ # * Take Screenshot
48
49
  #
49
50
  # ## Connectivity
50
51
  #
@@ -66,7 +67,7 @@ require 'ruby-macrodroid'
66
67
  #
67
68
  # ## MacroDroid specific
68
69
  #
69
- # * Disable Macro
70
+ # * Enable/Disable Macro
70
71
  #
71
72
  # ## Media
72
73
  #
@@ -79,7 +80,7 @@ require 'ruby-macrodroid'
79
80
  # ## Screen
80
81
  #
81
82
  # * Keep Device Awake
82
- # * Screen On
83
+ # * Screen On/Off
83
84
  #
84
85
 
85
86
  # Variables which can be queried
@@ -197,6 +198,137 @@ m: stay awake off
197
198
  t: webhook
198
199
  a: stay awake off
199
200
 
201
+ m: Media Next
202
+ t: webhook
203
+ a:
204
+ Media Next
205
+ Simulate Audio Button
206
+
207
+ m: Media Pause
208
+ t: webhook
209
+ a:
210
+ Media Pause
211
+ Simulate Audio Button
212
+
213
+ m: Media Play
214
+ t: webhook
215
+ a:
216
+ Media Play
217
+ Simulate Audio Button
218
+
219
+ m: Media Play Pause
220
+ t: webhook
221
+ a:
222
+ Media Play/Pause
223
+ Simulate Audio Button
224
+
225
+ m: Media Previous
226
+ t: webhook
227
+ a:
228
+ Media Previous
229
+ Simulate Audio Button
230
+
231
+ m: Media Stop
232
+ t: webhook
233
+ a:
234
+ Media Stop
235
+ Simulate Audio Button
236
+
237
+ m: Open website
238
+ v: url
239
+ t: webhook
240
+ a: goto [lv=url]
241
+
242
+ m: Fill clipboard
243
+ v: clipboard
244
+ t: webhook
245
+ a:
246
+ Fill Clipboard
247
+ [lv=clipboard]
248
+
249
+ m: click text content
250
+ v: content
251
+ t: webhook
252
+ a:
253
+ UI Interaction
254
+ Click [[lv=content]]
255
+
256
+ m: Launch by package
257
+ v: package
258
+ t: webhook
259
+ a: Launch [lv=package]
260
+
261
+ m: Take Screenshot
262
+ t: webhook
263
+ a:
264
+ Take Screenshot
265
+ Save to device
266
+ a: wait 2 seconds
267
+ a: webhook
268
+
269
+ m: Voice search
270
+ t: webhook
271
+ a: Voice search
272
+
273
+ m: Ask Alexa
274
+ t: webhook
275
+ a: shortcut Ask Alexa
276
+
277
+ m: Set Auto Rotate
278
+ v: state
279
+ t: webhook
280
+ a:
281
+ if state = 0
282
+ Auto Rotate On
283
+ Else If state = 1
284
+ Auto Rotate Off
285
+ Else If state = 2
286
+ Auto Rotate Toggle
287
+ end if
288
+
289
+ m: Set Bluetooth
290
+ v: state
291
+ t: webhook
292
+ a:
293
+ if state = 0
294
+ Enable Bluetooth
295
+ Else If state = 1
296
+ Disable Bluetooth
297
+ Else If state = 2
298
+ Toggle Bluetooth
299
+ Else If state = 3
300
+ Connect Audio Device
301
+ Else If state = 4
302
+ Disconnect Audio Device
303
+ end if
304
+
305
+ m: Set Airplane Mode
306
+ v: state
307
+ t: webhook
308
+ a:
309
+ if state = 0
310
+ Airplane Mode On
311
+ Else If state = 1
312
+ Airplane Mode Off
313
+ Else If state = 2
314
+ Airplane Mode Toggle
315
+ end if
316
+
317
+ m: Set Wifi
318
+ v: state
319
+ t: webhook
320
+ a:
321
+ if state = 0
322
+ Enable Wifi
323
+ Else If state = 1
324
+ Disable Wifi
325
+ Else If state = 2
326
+ Toggle Wifi
327
+ Else If state = 3
328
+ Connect to Network
329
+ end if
330
+
331
+
200
332
  m: Share location
201
333
  t:
202
334
  WebHook
@@ -276,9 +408,12 @@ m: Power connected
276
408
  t: Power Connected: Any
277
409
  a: webhook
278
410
 
279
- m: screen on off
411
+ m: Screen on
280
412
  t: screen on
281
- a: webhook
413
+ a:
414
+ webhook
415
+ identifier: screen_on_off
416
+ screen_on: true
282
417
 
283
418
  m: Power Button Toggle3
284
419
  t: Power Button Toggle (3)
@@ -421,15 +556,8 @@ a:
421
556
  identifier: flip_device
422
557
  facedown: false
423
558
  EOF
424
- s="
425
-
426
-
427
559
 
428
560
 
429
-
430
-
431
- "
432
-
433
561
  module RemoteDroid
434
562
 
435
563
  class Server
@@ -483,18 +611,17 @@ module RemoteDroid
483
611
  context, json = msg.split(/:\s+/,2)
484
612
  category, action = context.split('/',2)
485
613
 
486
- if action == 'force_macro_run' then
614
+ h = JSON.parse(json, symbolize_names: true)
615
+
616
+ if action == 'force_macro_run' and h[:serverside] then
487
617
 
488
- self.notice 'macrodroid2: fmr'
489
- a = @remote.run_macro(JSON.parse(json, symbolize_names: true))
490
-
491
- a.each do |msg|
492
- self.notice 'macrodroid/action: ' + msg
493
- end
618
+ a = @remote.run_macro(h)
619
+ a.each {|msg| self.notice 'macrodroid/action: ' + msg }
494
620
 
495
621
  else
496
- @remote.control.method(action.to_sym)\
497
- .call(JSON.parse(json, symbolize_names: true))
622
+
623
+ @remote.control.method(action.to_sym).call(h)
624
+
498
625
  end
499
626
 
500
627
  end
@@ -52,25 +52,100 @@ module RemoteDroid
52
52
 
53
53
  # -- helpful methods -----------------
54
54
 
55
+ def ask_alexa()
56
+ control.ask_alexa
57
+ end
58
+
55
59
  def battery()
56
60
  query.battery
57
61
  end
58
62
 
63
+ def bluetooth()
64
+ control.bluetooth
65
+ end
66
+
59
67
  def cell_tower()
60
68
  query.cell_tower
61
69
  end
62
70
 
63
- def disable(macro)
64
- control.disable macro
71
+ def click(s)
72
+ control.click content: s
65
73
  end
66
74
 
67
- def enable(macro)
68
- control.enable macro
75
+ def control_media(option='Play/Pause')
76
+ control.control_media({option: option})
77
+ end
78
+
79
+ def disable_airplane_mode()
80
+ control.disable_airplane_mode
81
+ end
82
+
83
+ def disable_bluetooth()
84
+ control.disable_bluetooth
69
85
  end
70
86
 
87
+ def disable_macro(macro)
88
+ control.disable_macro macro
89
+ end
90
+
91
+ def disable_wifi()
92
+ control.disable_wifi
93
+ end
94
+
95
+ def enable_airplane_mode()
96
+ control.enable_airplane_mode
97
+ end
98
+
99
+ def enable_bluetooth()
100
+ control.enable_bluetooth
101
+ end
102
+
103
+ def enable_macro(macro)
104
+ control.enable_macro macro
105
+ end
106
+
107
+ def enable_wifi()
108
+ control.enable_wifi
109
+ end
110
+
111
+ def fill_clipboard(text)
112
+ control.fill_clipboard clipboard: text
113
+ end
114
+
115
+ alias copy fill_clipboard
116
+
71
117
  def hotspot(state=nil)
72
118
  control.hotspot state
119
+ end
120
+
121
+ def last_loc()
122
+ query.last_loc
123
+ end
124
+
125
+ def last_loc_link()
126
+ "<a href='%s' target='_blank'>map link</a>" % last_loc.link
73
127
  end
128
+
129
+ def launch_activity(app)
130
+
131
+ package = APPS[app]
132
+
133
+ if package then
134
+ control.launch_package package: package
135
+ else
136
+ r = APPS.find {|k,v| k =~ /#{app}/i}
137
+ control.launch_package(package: r[1]) if r
138
+ end
139
+
140
+ end
141
+
142
+ def launch_package(name)
143
+
144
+ control.launch_package(package: name)
145
+
146
+ end
147
+
148
+ alias launch launch_activity
74
149
 
75
150
  def location()
76
151
  query.location
@@ -79,7 +154,6 @@ module RemoteDroid
79
154
  def location_watch(refresh: '1 minute', interval: refresh,
80
155
  duration: '30 minutes')
81
156
 
82
-
83
157
  d = ChronicDuration.parse(duration)
84
158
  seconds = ChronicDuration.parse(interval)
85
159
  puts ("monitoring location every %s for %s" % [interval, duration]).info
@@ -99,10 +173,41 @@ module RemoteDroid
99
173
 
100
174
  end
101
175
 
176
+ def open_website(url)
177
+ control.open_website url: url
178
+ end
179
+
180
+ alias goto open_website
181
+ alias visit open_website
182
+
183
+ def ip()
184
+ query.ip
185
+ end
186
+
187
+ def next()
188
+ control_media('Next')
189
+ end
190
+
191
+ def pause()
192
+ control_media('Pause')
193
+ end
194
+
195
+ def play()
196
+ control_media('Play')
197
+ end
198
+
199
+ def play_pause()
200
+ control_media('Play/Pause')
201
+ end
202
+
102
203
  def photo()
103
204
  take_picture
104
205
  end
105
206
 
207
+ def previous()
208
+ control.control_media(option: 'Previous')
209
+ end
210
+
106
211
  def say(text)
107
212
  control.speak_text text
108
213
  end
@@ -125,6 +230,22 @@ module RemoteDroid
125
230
  screen :off
126
231
  end
127
232
 
233
+ def set_auto_rotate(state=nil)
234
+ control.set_auto_rotate state
235
+ end
236
+
237
+ def set_auto_rotate_on()
238
+ control.set_auto_rotate 0
239
+ end
240
+
241
+ def set_auto_rotate_off()
242
+ control.set_auto_rotate 1
243
+ end
244
+
245
+ def set_auto_rotate_toggle()
246
+ control.set_auto_rotate 2
247
+ end
248
+
128
249
  def stay_awake()
129
250
  control.stay_awake
130
251
  end
@@ -133,13 +254,20 @@ module RemoteDroid
133
254
  control.stay_awake_off
134
255
  end
135
256
 
257
+ alias awake_off stay_awake_off
258
+
259
+ def stop()
260
+ control_media(option: 'Stop')
261
+ end
262
+
136
263
  def take_picture(ftp_src: nil, fileout: '.')
137
264
 
138
265
  #screen.on
139
- r = query.take_picture
266
+ #launch 'camera'
140
267
 
141
268
  if ftp_src then
142
269
 
270
+ r = query.take_picture
143
271
  # give the device a second to write the image to file
144
272
  sleep 1
145
273
 
@@ -149,12 +277,49 @@ module RemoteDroid
149
277
  filename = ftp.ls.sort_by {|x| x[:ctime]}.last[:name]
150
278
  ftp.cp filename, fileout
151
279
 
280
+ else
281
+
282
+ contro.take_picture
283
+
152
284
  end
153
285
 
154
286
  end
155
287
 
156
288
  alias take_photo take_picture
157
289
 
290
+ def take_screenshot(ftp_src: nil, fileout: '.')
291
+
292
+ #screen.on
293
+
294
+
295
+ if ftp_src then
296
+
297
+ r = query.take_screenshot
298
+ # give the device a second to write the image to file
299
+ sleep 1
300
+
301
+ credentials, dir = ftp_src.match(/(ftp:\/\/[^\/]+)\/([^$]+)/).captures
302
+ ftp = MyMediaFTP.new(credentials)
303
+ ftp.cd dir
304
+ filename = ftp.ls.sort_by {|x| x[:ctime]}.last[:name]
305
+ ftp.cp filename, fileout
306
+
307
+ end
308
+
309
+ end
310
+
311
+ def toggle_airplane_mode()
312
+ control.toggle_airplane_mode
313
+ end
314
+
315
+ def toggle_bluetooth()
316
+ control.toggle_bluetooth
317
+ end
318
+
319
+ def toggle_wifi()
320
+ control.toggle_wifi
321
+ end
322
+
158
323
  def torch()
159
324
  control.torch
160
325
  end
@@ -162,6 +327,28 @@ module RemoteDroid
162
327
  def vibrate
163
328
  control.vibrate
164
329
  end
330
+
331
+ def voice_search
332
+ control.voice_search
333
+ end
334
+
335
+ def volume(context=nil)
336
+ query.volume context
337
+ end
338
+
339
+ def vol()
340
+ volume.music
341
+ end
165
342
 
166
343
  end
344
+
345
+
346
+ class WebServer < AppHttp
347
+
348
+ def initialize(port: 9292)
349
+ super(RemoteDroid::Client.new, port: port)
350
+ end
351
+
352
+ end
353
+
167
354
  end
@@ -8,22 +8,137 @@ module RemoteDroid
8
8
 
9
9
  end
10
10
 
11
+ def airplane_mode()
12
+
13
+ def self.enable()
14
+ http_exec 'set-airplane-mode', {state: 0}
15
+ end
16
+
17
+ def self.on()
18
+ self.enable
19
+ end
20
+
21
+ def self.disable()
22
+ http_exec 'set-airplane-mode', {state: 1}
23
+ end
24
+
25
+ def self.off()
26
+ self.disable
27
+ end
28
+
29
+ def self.toggle()
30
+ http_exec 'set-airplane-mode', {state: 2}
31
+ end
32
+
33
+ self
34
+ end
35
+
36
+ def ask_alexa(options={})
37
+ http_exec 'ask-alexa', options
38
+ end
39
+
40
+ def autorotate()
41
+
42
+ def self.enable()
43
+ http_exec 'set-auto-rotate', {state: 0}
44
+ end
45
+
46
+ def self.on()
47
+ self.enable
48
+ end
49
+
50
+ def self.disable()
51
+ http_exec 'set-auto-rotate', {state: 1}
52
+ end
53
+
54
+ def self.off()
55
+ self.disable
56
+ end
57
+
58
+ def self.toggle()
59
+ http_exec 'set-auto-rotate', {state: 2}
60
+ end
61
+
62
+ self
63
+ end
64
+
11
65
  def bluetooth()
12
- @bluetooth
66
+
67
+ def self.enable()
68
+ http_exec 'set-bluetooth', {state: 0}
69
+ end
70
+
71
+ def self.on()
72
+ self.enable
73
+ end
74
+
75
+ def self.disable()
76
+ http_exec 'set-bluetooth', {state: 1}
77
+ end
78
+
79
+ def self.off()
80
+ self.disable
81
+ end
82
+
83
+ def self.toggle()
84
+ http_exec 'set-bluetooth', {state: 2}
85
+ end
86
+
87
+ self
13
88
  end
14
89
 
15
90
  def camera_flash_light(options={})
16
91
  http_exec 'camera-flash-light', options
17
92
  end
18
93
 
19
- def disable(macro)
94
+ def click(options={content: ''})
95
+ http_exec 'click-text-content', options
96
+ end
97
+
98
+ def control_media(options={})
99
+ http_exec 'media-' + options[:option].downcase.gsub(/\W/,'-')
100
+ end
101
+
102
+ def disable_airplane_mode()
103
+ http_exec 'set-airplane-mode', {state: 1}
104
+ end
105
+
106
+ def disable_bluetooth()
107
+ http_exec 'set-bluetooth', {state: 1}
108
+ end
109
+
110
+ def disable_macro(macro)
20
111
  http_exec 'disable-macro', {name: macro}
21
112
  end
22
113
 
23
- def enable(macro)
114
+ def disable_wifi()
115
+ http_exec 'set-wifi', {state: 1}
116
+ end
117
+
118
+ def enable_airplane_mode()
119
+ http_exec 'set-airplane-mode', {state: 0}
120
+ end
121
+
122
+ def enable_bluetooth()
123
+ http_exec 'set-bluetooth', {state: 0}
124
+ end
125
+
126
+ def enable_macro(macro)
24
127
  http_exec 'enable-macro', {name: macro}
128
+ end
129
+
130
+ def enable_wifi()
131
+ http_exec 'set-wifi', {state: 0}
132
+ end
133
+
134
+ def fill_clipboard(options={})
135
+ http_exec 'fill-clipboard', options
25
136
  end
26
137
 
138
+ def force_macro_run(options={})
139
+ http_exec option[:macro_name].downcase.gsub(/ /,'-')
140
+ end
141
+
27
142
  def hotspot(state=nil)
28
143
 
29
144
  if state then
@@ -65,10 +180,38 @@ module RemoteDroid
65
180
 
66
181
  end
67
182
 
183
+ def launch_activity(options={app: ''})
184
+
185
+ return if options[:app].empty?
186
+
187
+ app = options[:app]
188
+
189
+ package = APPS[app]
190
+
191
+ if package then
192
+ launch_package package: package
193
+ else
194
+ r = APPS.find {|k,v| k =~ /#{app}/i}
195
+ launch_package(package: r[1]) if r
196
+ end
197
+
198
+ end
199
+
200
+ def launch_package(options={package: 'com.google.android.chrome'})
201
+ http_exec 'launch-by-package', options
202
+ end
203
+
68
204
  def location(options={})
69
205
  http_exec 'location'
70
206
  end
71
207
 
208
+ def open_website(options={url: ''})
209
+ http_exec 'open-website', options
210
+ end
211
+
212
+ alias goto open_website
213
+ alias visit open_website
214
+
72
215
  def say_current_time(options={})
73
216
  http_exec 'say-current-time'
74
217
  end
@@ -94,6 +237,29 @@ module RemoteDroid
94
237
  end
95
238
  end
96
239
 
240
+ def set_auto_rotate(state=nil)
241
+
242
+ if state then
243
+ http_exec 'set-auto-rotate', {state: state}
244
+ else
245
+
246
+ def self.on()
247
+ http_exec 'set-auto-rotate', {state: 0}
248
+ end
249
+
250
+ def self.off()
251
+ http_exec 'set-auto-rotate', {state: 1}
252
+ end
253
+
254
+ def self.toggle()
255
+ http_exec 'set-auto-rotate', {state: 2}
256
+ end
257
+
258
+ self
259
+
260
+ end
261
+ end
262
+
97
263
  def share_location(options={})
98
264
  http_exec 'share-location'
99
265
  end
@@ -126,6 +292,9 @@ module RemoteDroid
126
292
 
127
293
  alias take_photo take_picture
128
294
 
295
+ def take_screenshot(options={})
296
+ http_exec 'take-screenshot', options
297
+ end
129
298
 
130
299
  def toast(options={})
131
300
  http_exec :toast, options
@@ -138,8 +307,36 @@ module RemoteDroid
138
307
  def vibrate(options={})
139
308
  http_exec :vibrate
140
309
  end
310
+
311
+ def voice_search(options={})
312
+ http_exec 'voice-search'
313
+ end
141
314
 
142
-
315
+ def wifi()
316
+
317
+ def self.enable()
318
+ http_exec 'set-wifi', {state: 0}
319
+ end
320
+
321
+ def self.on()
322
+ self.enable
323
+ end
324
+
325
+ def self.disable()
326
+ http_exec 'set-wifi', {state: 1}
327
+ end
328
+
329
+ def self.off()
330
+ self.disable
331
+ end
332
+
333
+ def self.toggle()
334
+ http_exec 'set-wifi', {state: 2}
335
+ end
336
+
337
+ self
338
+ end
339
+
143
340
  def write(s)
144
341
 
145
342
  d = MacroDroid.new(RD_MACROS, deviceid: @deviceid,
@@ -33,6 +33,16 @@ module RemoteDroid
33
33
  q(:ip)
34
34
  end
35
35
 
36
+ def last_loc()
37
+
38
+ def self.alt() q(:last_loc_alt) end
39
+ def self.latlon() q(:last_latlong) end
40
+ def self.link() q(:last_loc_link) end
41
+ def self.time() q(:last_loc_age_timestamp) end
42
+
43
+ self
44
+ end
45
+
36
46
  def location()
37
47
 
38
48
  r = @callback.query(:location)
@@ -50,6 +60,31 @@ module RemoteDroid
50
60
  @callback.query(:'take-picture')
51
61
  end
52
62
 
63
+ def take_screenshot()
64
+ @callback.query(:'take-screenshot')
65
+ end
66
+
67
+ def volume(context=nil)
68
+
69
+ if context then
70
+ q(context)
71
+ else
72
+
73
+ def self.alarm() q(:vol_alarm) end
74
+ def self.bt_voice() q(:vol_bt_voice) end
75
+ def self.call() q(:vol_call) end
76
+ def self.music() q(:vol_music) end
77
+ def self.notify() q(:vol_notif) end
78
+ def self.system() q(:vol_system) end
79
+
80
+ self
81
+
82
+ end
83
+ end
84
+
85
+ alias vol volume
86
+
87
+
53
88
  private
54
89
 
55
90
  def q(id)
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.5.2
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  io3WPRDjULC924M5S8wbrus31v2AUjqFBPvmHr7caf/VHErWypV482xcDhWt1eif
36
36
  0G2k2ptozXcBS9odsqGUTb5N
37
37
  -----END CERTIFICATE-----
38
- date: 2020-10-21 00:00:00.000000000 Z
38
+ date: 2020-10-26 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: onedrb
@@ -97,6 +97,46 @@ dependencies:
97
97
  - - ">="
98
98
  - !ruby/object:Gem::Version
99
99
  version: 0.3.7
100
+ - !ruby/object:Gem::Dependency
101
+ name: sps-pub
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '0.5'
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 0.5.5
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.5'
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.5.5
120
+ - !ruby/object:Gem::Dependency
121
+ name: apphttp
122
+ requirement: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: 0.2.0
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '0.2'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: 0.2.0
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.2'
100
140
  - !ruby/object:Gem::Dependency
101
141
  name: ruby-macrodroid
102
142
  requirement: !ruby/object:Gem::Requirement
@@ -106,7 +146,7 @@ dependencies:
106
146
  version: '0.9'
107
147
  - - ">="
108
148
  - !ruby/object:Gem::Version
109
- version: 0.9.12
149
+ version: 0.9.17
110
150
  type: :runtime
111
151
  prerelease: false
112
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -116,7 +156,7 @@ dependencies:
116
156
  version: '0.9'
117
157
  - - ">="
118
158
  - !ruby/object:Gem::Version
119
- version: 0.9.12
159
+ version: 0.9.17
120
160
  description:
121
161
  email: james@jamesrobertson.eu
122
162
  executables: []
metadata.gz.sig CHANGED
Binary file