droiuby 0.1.1 → 0.1.2
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.
- data/bin/drby +6 -10
- data/lib/droiuby/project.rb +35 -1
- metadata +1 -1
data/bin/drby
CHANGED
@@ -19,7 +19,8 @@ options = OptionParser.new do |o|
|
|
19
19
|
drby live [PROJECT_NAME] [options] # runs a web instance of the app and tells Droiuby to load it.
|
20
20
|
drby new PROJECT_NAME [options] # Create a new project
|
21
21
|
drby pack [PROJECT_NAME] [options] # zips and packages an app
|
22
|
-
drby switch INSTANCE_NAME [options] # Switch to the specified instance
|
22
|
+
drby switch INSTANCE_NAME [options] # Switch to the specified instance
|
23
|
+
drby bundle # unzips all gems in vendor/cache for deployment to droiuby\n"
|
23
24
|
|
24
25
|
o.separator ""
|
25
26
|
o.separator "options:"
|
@@ -39,6 +40,8 @@ def valid_statement?(stmt)
|
|
39
40
|
return true
|
40
41
|
end
|
41
42
|
|
43
|
+
project = Project.new
|
44
|
+
|
42
45
|
case command
|
43
46
|
when 'new'
|
44
47
|
project_name = ARGV[1]
|
@@ -48,13 +51,9 @@ case command
|
|
48
51
|
puts "Usage: drby new PROJECT_NAME [options]"
|
49
52
|
exit(1)
|
50
53
|
end
|
51
|
-
|
52
|
-
project = Project.new
|
53
54
|
project.create(project_name,'')
|
54
55
|
when 'console'
|
55
56
|
puts "droiuby console"
|
56
|
-
project = Project.new
|
57
|
-
|
58
57
|
while buf = Readline.readline("droiuby > ", true)
|
59
58
|
|
60
59
|
if buf=='refresh!'
|
@@ -90,7 +89,6 @@ case command
|
|
90
89
|
puts "Usage: drby switch INSTANCE_NAME"
|
91
90
|
exit(1)
|
92
91
|
end
|
93
|
-
project = Project.new
|
94
92
|
project.switch(instance_name, $device_ip)
|
95
93
|
when 'autostart'
|
96
94
|
switch = ARGV[1]
|
@@ -98,7 +96,6 @@ case command
|
|
98
96
|
puts "Usage: drby autostart true|false [NAMESPACE] [options]"
|
99
97
|
exit(1)
|
100
98
|
end
|
101
|
-
project = Project.new
|
102
99
|
project.autostart(switch, ARGV[2], $device_ip)
|
103
100
|
when 'pack'
|
104
101
|
project_name = nil
|
@@ -110,7 +107,6 @@ case command
|
|
110
107
|
exit(1)
|
111
108
|
end
|
112
109
|
end
|
113
|
-
project = Project.new
|
114
110
|
project.package(project_name)
|
115
111
|
when 'framework'
|
116
112
|
if ARGV[1] == 'update'
|
@@ -125,8 +121,9 @@ case command
|
|
125
121
|
project_name = ARGV[1]
|
126
122
|
end
|
127
123
|
|
128
|
-
project = Project.new
|
129
124
|
project.execute(project_name, $device_ip, $droiuby_host)
|
125
|
+
when 'bundle'
|
126
|
+
project.bundle
|
130
127
|
when 'live'
|
131
128
|
project_name = nil
|
132
129
|
|
@@ -134,7 +131,6 @@ case command
|
|
134
131
|
project_name = ARGV[1]
|
135
132
|
end
|
136
133
|
|
137
|
-
project = Project.new
|
138
134
|
project.live(project_name, $device_ip, $droiuby_host, '')
|
139
135
|
else
|
140
136
|
puts options
|
data/lib/droiuby/project.rb
CHANGED
@@ -28,6 +28,17 @@ class Project < Thor
|
|
28
28
|
end
|
29
29
|
}
|
30
30
|
|
31
|
+
|
32
|
+
desc "proximity [device_ip] [true|false]", "enable/disable proximity refresh"
|
33
|
+
def proximity(device_ip, proximity = 'false')
|
34
|
+
device_ip = map_device_ip(device_ip)
|
35
|
+
url_str = "http://#{device_ip}:4000/control?cmd=proximity&switch=#{proximity}"
|
36
|
+
uri = URI.parse(url_str)
|
37
|
+
# Shortcut
|
38
|
+
response = Net::HTTP.get_response(uri)
|
39
|
+
response.body
|
40
|
+
end
|
41
|
+
|
31
42
|
desc "launch device IP [URL]","Tell droiuby to connect to app hosted at URL"
|
32
43
|
def launch(device_ip, url)
|
33
44
|
|
@@ -260,6 +271,29 @@ class Project < Thor
|
|
260
271
|
upload name, device_ip, source_dir
|
261
272
|
end
|
262
273
|
|
274
|
+
desc "bundle", "unpack all cached gems"
|
275
|
+
|
276
|
+
def bundle
|
277
|
+
cache_dir = File.join('vendor','cache')
|
278
|
+
|
279
|
+
unless Dir.exists?(cache_dir)
|
280
|
+
puts `bundle package --all`
|
281
|
+
end
|
282
|
+
|
283
|
+
if Dir.exists?(cache_dir)
|
284
|
+
path = cache_dir
|
285
|
+
puts 'watch out for exploding gems'
|
286
|
+
Dir["#{path}/*.gem"].each do |file|
|
287
|
+
say_status 'unpack', file
|
288
|
+
`gem unpack #{file} --target ./vendor`
|
289
|
+
end
|
290
|
+
else
|
291
|
+
say_status 'error', "can't find cache directory /vendor/cache"
|
292
|
+
end
|
293
|
+
|
294
|
+
|
295
|
+
end
|
296
|
+
|
263
297
|
private
|
264
298
|
|
265
299
|
def compress(path, force = "false", archive_name = nil)
|
@@ -286,4 +320,4 @@ class Project < Thor
|
|
286
320
|
say_status 'create', archive
|
287
321
|
end
|
288
322
|
end
|
289
|
-
end
|
323
|
+
end
|