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