loft-harmony 1.2.2 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/harmony +44 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a787fc1aa34315a42462695d17d3a0acb1a52fe1
|
4
|
+
data.tar.gz: 41a7edff4216a52c3818a61df9d34b15bad31698
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7274be884f2c6f0f87a525300560dd8869796e7527ce4366d2d03b17537346692f77a892d2d2c4b3f96c1f12ff4e6c7359ba2a6ec795c2c00f8144a4bbac6c8
|
7
|
+
data.tar.gz: 3f804e9eab4c49689d7a5c9a5a0c0b19e56f176c88dcc5ed7262175d04c26ce75057beff2c72f69d53164f8ce427287befae60c6d7bccc62734833c7682c829e
|
data/bin/harmony
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'net/ftp'
|
3
3
|
require 'terrun'
|
4
4
|
require 'timeout'
|
5
|
+
require 'fileutils'
|
5
6
|
|
6
7
|
class Harmony < TerminalRunner
|
7
8
|
name "Harmony"
|
@@ -19,6 +20,7 @@ class Harmony < TerminalRunner
|
|
19
20
|
option "--auto", 0, "", "Start up auto mode automatically."
|
20
21
|
option "--passive", 0, "", "Use FTP in passive mode."
|
21
22
|
option "--vanilla_ftp", 0, "", "Use Vanilla ruby Net::FTP. Disables automatica directory creation."
|
23
|
+
option "--local", 0, "", "Use a local copy instead of an FTP transfer."
|
22
24
|
|
23
25
|
help ""
|
24
26
|
|
@@ -40,6 +42,7 @@ class Harmony < TerminalRunner
|
|
40
42
|
@compile_coffeescript = @@options.include?("--coffee") ? @@options["--coffee"][0] : nil
|
41
43
|
@passive_mode = @@options.include?("--passive")
|
42
44
|
@use_vanilla_ftp = @@options.include?("--vanilla_ftp")
|
45
|
+
@use_local = @@options.include?("--local")
|
43
46
|
@ignored = []
|
44
47
|
|
45
48
|
@compile_eco = nil
|
@@ -242,6 +245,9 @@ class Harmony < TerminalRunner
|
|
242
245
|
if @use_vanilla_ftp
|
243
246
|
puts "(Using Vanilla FTP)".pink
|
244
247
|
@ftp = Net::FTP.new(@server, @user, @password)
|
248
|
+
elsif @use_local
|
249
|
+
puts "(Using Local non-FTP)".pink
|
250
|
+
@ftp = LocalCopyFTP.new
|
245
251
|
else
|
246
252
|
@ftp = BetterFTP.new(@server, @user, @password)
|
247
253
|
end
|
@@ -293,6 +299,44 @@ class String
|
|
293
299
|
end
|
294
300
|
end
|
295
301
|
|
302
|
+
# Only performs a local copy, instead of using an FTP connection
|
303
|
+
class LocalCopyFTP
|
304
|
+
@dir = '/'
|
305
|
+
|
306
|
+
def mkdir_p(path)
|
307
|
+
FileUtils.mkdir_p path
|
308
|
+
end
|
309
|
+
|
310
|
+
def chdir(path)
|
311
|
+
@dir = path
|
312
|
+
end
|
313
|
+
|
314
|
+
def puttextfile(file)
|
315
|
+
FileUtils.cp file, @dir
|
316
|
+
end
|
317
|
+
|
318
|
+
def putbinaryfile(file)
|
319
|
+
puttextfile(file)
|
320
|
+
end
|
321
|
+
|
322
|
+
def connect(_host, _port=nil)
|
323
|
+
end
|
324
|
+
|
325
|
+
def passive=(_val)
|
326
|
+
end
|
327
|
+
|
328
|
+
def list
|
329
|
+
[]
|
330
|
+
end
|
331
|
+
|
332
|
+
def closed?
|
333
|
+
false
|
334
|
+
end
|
335
|
+
|
336
|
+
def close
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
296
340
|
require 'net/ftp'
|
297
341
|
|
298
342
|
class BetterFTP < Net::FTP
|