vos 0.3.11 → 0.3.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/vos/drivers/ssh_vfs_storage.rb +19 -10
  2. metadata +7 -7
@@ -1,6 +1,16 @@
1
1
  module Vos
2
2
  module Drivers
3
- module SshVfsStorage
3
+ module SshVfsStorage
4
+ class Writer
5
+ def initialize out
6
+ @out = out
7
+ end
8
+
9
+ def write data
10
+ @out.write data
11
+ end
12
+ end
13
+
4
14
  #
5
15
  # Attributes
6
16
  #
@@ -11,10 +21,10 @@ module Vos
11
21
  attrs[:file] = stat.file?
12
22
  attrs[:dir] = stat.directory?
13
23
  # stat.symlink?
14
-
24
+
15
25
  # attributes special for file system
16
26
  attrs[:updated_at] = stat.mtime
17
-
27
+
18
28
  attrs
19
29
  rescue Net::SFTP::StatusException
20
30
  {}
@@ -52,13 +62,12 @@ module Vos
52
62
  ''
53
63
  end
54
64
  write_file path, false do |writer|
55
- writer.call data
65
+ writer.write data
56
66
  block.call writer
57
67
  end
58
68
  else
59
- sftp.file.open fix_path(path), 'w' do |os|
60
- writer = -> buff {os.write buff}
61
- block.call writer
69
+ sftp.file.open fix_path(path), 'w' do |out|
70
+ block.call Writer.new(out)
62
71
  end
63
72
  end
64
73
  end
@@ -85,7 +94,7 @@ module Vos
85
94
 
86
95
  def each_entry path, query, &block
87
96
  raise "SshVfsStorage not support :each_entry with query!" if query
88
-
97
+
89
98
  sftp.dir.foreach path do |stat|
90
99
  next if stat.name == '.' or stat.name == '..'
91
100
  if stat.directory?
@@ -95,7 +104,7 @@ module Vos
95
104
  end
96
105
  end
97
106
  end
98
-
107
+
99
108
  # def efficient_dir_copy from, to, override
100
109
  # return false if override # sftp doesn't support this behaviour
101
110
  #
@@ -131,7 +140,7 @@ module Vos
131
140
  tmp_dir
132
141
  end
133
142
  end
134
-
143
+
135
144
  def local?; false end
136
145
  end
137
146
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-08-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: net-ssh
16
- requirement: &673270 !ruby/object:Gem::Requirement
16
+ requirement: &376740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *673270
24
+ version_requirements: *376740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: net-sftp
27
- requirement: &750800 !ruby/object:Gem::Requirement
27
+ requirement: &667020 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *750800
35
+ version_requirements: *667020
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: vfs
38
- requirement: &987290 !ruby/object:Gem::Requirement
38
+ requirement: &747540 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *987290
46
+ version_requirements: *747540
47
47
  description:
48
48
  email:
49
49
  executables: []