dropscreen 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 08fa7d74929d5bae10548495f7e53ed38448c59b
4
- data.tar.gz: 633dd6939e3f0572a1e0641c2690f407d0dd8f7e
3
+ metadata.gz: 64430ef1fe615c601cc9a4fd2a43ac90b0e1a572
4
+ data.tar.gz: 68345a031a803de739e84ee7788d9cda1ca066d1
5
5
  SHA512:
6
- metadata.gz: 1c40e858f1cf0d0334d48336fc96856463b203ad13d4f835c97b24f16e92098ed4902765a2b4255e138e3945185b4c31afc05b983075f7650acdef03771865e1
7
- data.tar.gz: 9a9db96478591061930bc0e013c0ac0a794ae350f67e9a5a074decdcc10e6c816d59abce9450797557dfc0dcd4f094f96a03e2b3111000d20e9275fb354e37e2
6
+ metadata.gz: 70b2ea3104c22b6a531c1fbfe6bbf638f1722aa88d788ba12238b8a2b1ba7cf655b24efd9cad9308b0d1fdcda31aad1499fc1dc65d7f9b5a9d61b3caf823ab73
7
+ data.tar.gz: 7c576b408b91133c93ce9d269f021794498f6e295e5ab696f037b1227456c3ed070b730b7c3110252a63d97bccd2a6e0faba5670c432e75ac4636ffb258d96a1
data/lib/dropscreen.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require "dropscreen/version"
2
2
  require "dropbox_sdk"
3
+ require "thwait"
3
4
 
4
5
  module Dropscreen
5
6
  class Client
@@ -14,13 +15,17 @@ module Dropscreen
14
15
  end
15
16
 
16
17
  def push(src, dest=src)
18
+ threads = []
17
19
  @client.file_create_folder(File.join(@remote_base_dir, dest)) unless exists? dest
18
20
  Dir.foreach(File.join(@local_base_dir, src)) do |filename|
19
- next if filename == '.' or filename == '..' or filename == '.DS_Store'
20
- file = open(File.join(@local_base_dir, src, filename))
21
- dropbox_file_name = File.basename(filename)
22
- @client.put_file(File.join(@remote_base_dir, dest, dropbox_file_name), file, true)
23
- end
21
+ next if filename == '.' or filename == '..' or filename == '.DS_Store'
22
+ file = open(File.join(@local_base_dir, src, filename))
23
+ dropbox_file_name = File.basename(filename)
24
+ threads << Thread.new {
25
+ @client.put_file(File.join(@remote_base_dir, dest, dropbox_file_name), file, true)
26
+ }
27
+ end
28
+ ThreadsWait.all_waits(*threads)
24
29
  end
25
30
 
26
31
  def exists? path
@@ -36,15 +41,19 @@ module Dropscreen
36
41
  end
37
42
 
38
43
  def pull(src, dest=src)
44
+ threads = []
39
45
  dest = File.join(@local_base_dir, dest)
40
46
  FileUtils.mkdir_p(dest) unless File.exists?(dest)
41
47
  files = @client.metadata(File.join(@remote_base_dir, src))['contents']
42
48
  files.each do |file|
43
49
  basename = File.basename(file['path'])
44
50
  destination_filename = File.join(dest, basename)
45
- contents = @client.get_file(file['path'])
46
- open(destination_filename, 'wb') {|f| f.puts contents }
47
- end
51
+ threads << Thread.new {
52
+ contents = @client.get_file(file['path'])
53
+ open(destination_filename, 'wb') {|f| f.puts contents }
54
+ }
55
+ end
56
+ ThreadsWait.all_waits(*threads)
48
57
  end
49
58
 
50
59
  def remove path
@@ -1,3 +1,3 @@
1
1
  module Dropscreen
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dropscreen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sky Haiku Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dropbox-sdk