dshelf 0.2.2 → 0.2.4

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