shrine-webdav 0.1.0 → 0.1.1
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 +4 -4
- data/README.md +3 -1
- data/lib/shrine/webdav.rb +5 -11
- data/shrine-webdav.gemspec +2 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a85890b4392e10416afddd86f6fff9937f419fa1
|
4
|
+
data.tar.gz: 6dff08b328828f2e3c19fea330d581890e5e25a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0e940c56d1c5dd7c656330b8b6f03b44ae0f366654219220aa7d21df0647ddf02f70cf7010ff6008fdc6ea09009b355996f43405c9065b5ab953be02d258a2b
|
7
|
+
data.tar.gz: abbdc485a158fb4e55cac16b9ca021c6cf802a9bbce8e55686c6d13cf3e387dabbd82cc27aa3074e55caa41959de70a22743e87fd0ffe256a2dda0f3ec7e6ac7
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Provides a simple WebDAV storage for Shrine.
|
4
4
|
|
5
|
+
[](https://travis-ci.org/funbox/shrine-webdav)
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
@@ -81,7 +83,7 @@ report.pdf = File.open('sample.pdf')
|
|
81
83
|
# to "http://webdav-server.com/your_project/cache/#{report.id}.xls"
|
82
84
|
report.xls = File.open('sample.xls')
|
83
85
|
|
84
|
-
# after
|
86
|
+
# after committing in database both files sample.pdf and sample.xls have
|
85
87
|
# been uploaded to "http://webdav-server.com/your_project/store/..."
|
86
88
|
report.save
|
87
89
|
```
|
data/lib/shrine/webdav.rb
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
require 'shrine'
|
2
|
+
require 'http'
|
3
|
+
require 'down/http'
|
2
4
|
|
3
5
|
class Shrine
|
4
6
|
module Storage
|
@@ -13,7 +15,7 @@ class Shrine
|
|
13
15
|
mkpath_to_file(id)
|
14
16
|
response = HTTP.put(path(@host, id), body: io.read)
|
15
17
|
return if (200..299).cover?(response.code.to_i)
|
16
|
-
raise "uploading of #{path(@host, id)} failed, the server response was #{response}"
|
18
|
+
raise Error, "uploading of #{path(@host, id)} failed, the server response was #{response}"
|
17
19
|
end
|
18
20
|
|
19
21
|
def url(id, **options)
|
@@ -21,15 +23,7 @@ class Shrine
|
|
21
23
|
end
|
22
24
|
|
23
25
|
def open(id)
|
24
|
-
|
25
|
-
response = HTTP.get(path(@host, id))
|
26
|
-
unless response.code.to_i == 200
|
27
|
-
tempfile.close!
|
28
|
-
raise "downloading of #{path(@host, id)} failed, the server response was #{response}"
|
29
|
-
end
|
30
|
-
tempfile.write(response)
|
31
|
-
tempfile.open
|
32
|
-
tempfile
|
26
|
+
Down::Http.open(path(@host, id))
|
33
27
|
end
|
34
28
|
|
35
29
|
def exists?(id)
|
@@ -61,7 +55,7 @@ class Shrine
|
|
61
55
|
dirs.each do |dir|
|
62
56
|
response = HTTP.request(:mkcol, "#{@host}#{dir}")
|
63
57
|
unless (200..301).cover?(response.code.to_i)
|
64
|
-
raise "creation of directory #{@host}#{dir} failed, the server response was #{response}"
|
58
|
+
raise Error, "creation of directory #{@host}#{dir} failed, the server response was #{response}"
|
65
59
|
end
|
66
60
|
end
|
67
61
|
end
|
data/shrine-webdav.gemspec
CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'shrine-webdav'
|
6
|
-
spec.version = '0.1.
|
6
|
+
spec.version = '0.1.1'
|
7
7
|
spec.authors = ['Ivan Kushmantsev']
|
8
8
|
spec.email = ['i.kushmantsev@fun-box.ru']
|
9
9
|
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
|
22
22
|
spec.add_dependency 'shrine', '>= 2.0'
|
23
23
|
spec.add_dependency 'http', '~> 2.2', '>= 2.2.2'
|
24
|
+
spec.add_dependency 'down', '~> 3.0'
|
24
25
|
|
25
26
|
spec.add_development_dependency 'bundler', '~> 1.14'
|
26
27
|
spec.add_development_dependency 'rake', '~> 10.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine-webdav
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Kushmantsev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shrine
|
@@ -44,6 +44,20 @@ dependencies:
|
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 2.2.2
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: down
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.0'
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: bundler
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|