dshelf 0.2.2 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
data/lib/dshelf/dfile.rb CHANGED
@@ -87,6 +87,7 @@ class DistributedFile
87
87
 
88
88
  def write string
89
89
  RestClient.put "#{server_url}/storage#{absolutepath}", string, :content_type => mimetype
90
+ string.size
90
91
  end
91
92
 
92
93
  # File.open(filename, mode="r" [, opt]) => file
data/lib/dshelf/dir.rb CHANGED
@@ -5,8 +5,8 @@ class Dir
5
5
 
6
6
  override_class_method(:chdir) do |dir|
7
7
  if distributed? dir
8
- p "remote chdir"
9
8
  @@dpwd = dir
9
+ 0
10
10
  else
11
11
  @@dpwd = ''
12
12
  Dir._chdir dir
@@ -17,7 +17,6 @@ class Dir
17
17
  [:getwd, :pwd].each do |method|
18
18
  override_class_method(method) do
19
19
  if distributed? @@dpwd
20
- p "remote pwd"
21
20
  @@dpwd
22
21
  else
23
22
  Dir._pwd
@@ -27,29 +26,42 @@ class Dir
27
26
 
28
27
  [:delete, :rmdir, :unlink].each do |method|
29
28
  proxy_method(method) do |dir|
30
- p "remote rmdir"
31
- 0
29
+ RestClient.delete("#{server_url}/dir#{dir}") do |response, request, result|
30
+ case response.code
31
+ when 202
32
+ 0
33
+ when 204
34
+ 0
35
+ when 404
36
+ raise Errno::ENOENT
37
+ end
38
+ end
32
39
  end
33
40
  end
34
41
 
35
42
  proxy_method(:entries) do |dir|
36
43
  dir = File.expand_path(dir, Dir.pwd)
37
- RestClient.get("#{server_url}/dir#{dir}", {:params => {:method => :entries}, :accept => :json}) do |response, request, result|
44
+ RestClient.get("#{server_url}/dir#{dir}", {:accept => :json}) do |response, request, result|
38
45
  case response.code
39
46
  when 200
40
47
  JSON.parse response
41
48
  when 404
42
49
  raise Errno::ENOENT
43
- end
44
- end
50
+ end
51
+ end
45
52
  end
46
53
 
47
54
  proxy_method(:mkdir) do |dir|
48
- p "remote mkdir"
55
+ RestClient.put("#{server_url}/dir#{dir}", '') do |response, request, result|
56
+ case response.code
57
+ when 204
58
+ 0
59
+ when 409
60
+ raise Errno::EEXIST
61
+ end
62
+ end
49
63
  end
50
64
 
51
-
52
-
53
65
  # foreach(dirname, &b)
54
66
  #
55
67
  # init (name)
data/lib/dshelf/file.rb CHANGED
@@ -49,8 +49,8 @@ class File
49
49
  0
50
50
  when 404
51
51
  raise Errno::ENOENT
52
- end
53
- end
52
+ end
53
+ end
54
54
  end
55
55
  end
56
56
 
data/lib/dshelf.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module DistributedShelf
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.4'
3
3
 
4
4
  @@config = {}
5
5
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 2
9
- version: 0.2.2
8
+ - 4
9
+ version: 0.2.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Phil Pirozhkov
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-07 00:00:00 +04:00
17
+ date: 2010-10-31 00:00:00 +04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -101,6 +101,6 @@ rubyforge_project:
101
101
  rubygems_version: 1.3.6
102
102
  signing_key:
103
103
  specification_version: 3
104
- summary: ""
104
+ summary: Transparent remote storage for File API
105
105
  test_files: []
106
106