dropscreen 0.0.2 → 0.0.3

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