shrine-webdav 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a8ff691d2208dfa2d84ffe07f02a264ced26cbe
4
- data.tar.gz: c5e50429ba8788a0f5aa35e4e9437cd1dd2bd897
3
+ metadata.gz: a85890b4392e10416afddd86f6fff9937f419fa1
4
+ data.tar.gz: 6dff08b328828f2e3c19fea330d581890e5e25a7
5
5
  SHA512:
6
- metadata.gz: 8294f24e37d5405cabd75cc537f2d484f98d72876d072c558ed5a37c03582eec7860fc46586b3fa9097cbd9ad27f28fdc11dc3db678690269ec1776a5f9b02cc
7
- data.tar.gz: 16896d69aff2bccc93d0f643594c15dca182be9410807257c3f22a28d05e4a2586ced39a2508e7edcd0d56a67b2b5f401169863035dfb1b327adf046e98346c1
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
+ [![Build Status](https://travis-ci.org/funbox/shrine-webdav.svg?branch=master)](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 commiting in database both files sample.pdf and sample.xls have
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
- tempfile = Tempfile.new('webdav-', binmode: true)
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
@@ -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.0'
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.0
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-05-31 00:00:00.000000000 Z
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