carrierwave-webdav 0.1.1 → 0.2.0
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 +7 -0
- data/.coveralls.yml +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +5 -1
- data/Rakefile +5 -1
- data/lib/carrierwave/storage/webdav.rb +8 -7
- data/lib/carrierwave/webdav/version.rb +1 -1
- data/spec/fixtures/test.txt +1 -0
- data/spec/lib/webdav_spec.rb +58 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/supports/helpers.rb +30 -0
- metadata +26 -22
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 730556ae8749e7612051df3d9a58507587c27ecf
|
4
|
+
data.tar.gz: 5af49b859816d545b742baed6b27db795957a0ec
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a364a9e0dde34f08fc9604d78c08d8a5df4af3d29488628c8dd9aead7f0ebca19de1b70c21f5b04d8a2b490bd46852836e17640f348dd97f711fefa3d91855e7
|
7
|
+
data.tar.gz: f240e83ed8de34d96a605edac86b7a6ab1d46855b34f41da85f4d1f0cda379e7f468534bccc3c8ff3338e104d1e898858def31990d9ff889e9cb7dc3698510c5
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
repo_token: vED8szM0CKiJzSUuQmmbuuWStRxi3wMSV
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
# Specify your gem's dependencies in carrierwave-
|
3
|
+
# Specify your gem's dependencies in carrierwave-webdav.gemspec
|
4
4
|
gemspec
|
5
|
+
gem 'rake'
|
6
|
+
gem 'rspec'
|
7
|
+
gem 'webmock', :require => 'webmock/rspec'
|
8
|
+
gem 'coveralls', require: false
|
data/Rakefile
CHANGED
@@ -56,12 +56,12 @@ module CarrierWave
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def read
|
59
|
-
HTTParty.get(
|
59
|
+
HTTParty.get(url, options).body
|
60
60
|
end
|
61
61
|
|
62
62
|
def write(file)
|
63
63
|
mkcol
|
64
|
-
HTTParty.put(
|
64
|
+
HTTParty.put(url, options.merge({ body: file }))
|
65
65
|
end
|
66
66
|
|
67
67
|
def length
|
@@ -69,7 +69,11 @@ module CarrierWave
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def delete
|
72
|
-
HTTParty.delete(
|
72
|
+
HTTParty.delete(url, options)
|
73
|
+
end
|
74
|
+
|
75
|
+
def url
|
76
|
+
"#{server}/#{path}"
|
73
77
|
end
|
74
78
|
|
75
79
|
alias :content_length :length
|
@@ -77,10 +81,7 @@ module CarrierWave
|
|
77
81
|
alias :size :length
|
78
82
|
|
79
83
|
private
|
80
|
-
|
81
|
-
"#{server}/#{path}"
|
82
|
-
end
|
83
|
-
|
84
|
+
|
84
85
|
def mkcol
|
85
86
|
dirs = []
|
86
87
|
path.split('/')[0...-1].each do |dir|
|
@@ -0,0 +1 @@
|
|
1
|
+
Hello, this is test data.
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'carrierwave/webdav'
|
3
|
+
require 'uri'
|
4
|
+
|
5
|
+
describe CarrierWave::Storage::WebDAV do
|
6
|
+
|
7
|
+
before do
|
8
|
+
CarrierWave.configure do |config|
|
9
|
+
config.storage = :webdav
|
10
|
+
config.webdav_server = 'https://your.webdavserver.com/dav/'
|
11
|
+
config.webdav_username = 'your_webdav_username'
|
12
|
+
config.webdav_password = 'your_webdav_password'
|
13
|
+
end
|
14
|
+
|
15
|
+
@uploader = CarrierWave::Uploader::Base.new
|
16
|
+
@uploader.stub! store_path: 'uploads/test.txt'
|
17
|
+
|
18
|
+
@storage = CarrierWave::Storage::WebDAV.new(@uploader)
|
19
|
+
@file = CarrierWave::SanitizedFile.new(file_path('test.txt'))
|
20
|
+
|
21
|
+
@uri = URI(@uploader.webdav_server)
|
22
|
+
@uri.user = @uploader.webdav_username
|
23
|
+
@uri.password = @uploader.webdav_password
|
24
|
+
@uri.merge! @uploader.store_path
|
25
|
+
|
26
|
+
stub_mkcol @uri
|
27
|
+
stub_put @uri
|
28
|
+
|
29
|
+
@webdav_file = @storage.store!(@file)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'should store from WebDAV' do
|
33
|
+
stub_get @uri
|
34
|
+
expect(@file.read).to eq(@webdav_file.read)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should retrieve a file from WebDAV' do
|
38
|
+
stub_get @uri
|
39
|
+
retrieved_file = @storage.retrieve!(@webdav_file)
|
40
|
+
expect(@file.read).to eq(retrieved_file.read)
|
41
|
+
expect(File.basename(@file.path)).to eq(File.basename(retrieved_file.path))
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should delete a file from WebDAV' do
|
45
|
+
stub_delete @uri
|
46
|
+
expect(Net::HTTPOK).to eq(@webdav_file.delete.response.class)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should size equal' do
|
50
|
+
stub_get @uri
|
51
|
+
expect(@file.size).to eq(@webdav_file.size)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should url equal' do
|
55
|
+
expect("#{@uploader.webdav_server}/#{@uploader.store_path}").to eq(@webdav_file.url)
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
|
4
|
+
Dir['spec/supports/**/*.rb'].each { |f| require File.expand_path(f) }
|
5
|
+
|
6
|
+
require 'carrierwave'
|
7
|
+
|
8
|
+
if ENV['TRAVIS']
|
9
|
+
require 'coveralls'
|
10
|
+
Coveralls.wear!
|
11
|
+
end
|
12
|
+
|
13
|
+
RSpec.configure do |config|
|
14
|
+
WebMock.disable_net_connect!
|
15
|
+
config.include Helpers
|
16
|
+
end
|
17
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Helpers
|
2
|
+
|
3
|
+
def file_path( *paths )
|
4
|
+
File.expand_path(File.join(File.dirname(__FILE__), '../fixtures', *paths))
|
5
|
+
end
|
6
|
+
|
7
|
+
def stub_get(url)
|
8
|
+
stub_request(:get, url.to_s).
|
9
|
+
to_return(:status => 200, :body => 'Hello, this is test data.', :headers => {})
|
10
|
+
end
|
11
|
+
|
12
|
+
def stub_put(url)
|
13
|
+
stub_request(:put, url.to_s).
|
14
|
+
with(:body => 'Hello, this is test data.').
|
15
|
+
to_return(:status => 200, :body => '', :headers => {})
|
16
|
+
end
|
17
|
+
|
18
|
+
def stub_mkcol(url)
|
19
|
+
split_url = url.to_s.split('/')
|
20
|
+
split_url.pop
|
21
|
+
|
22
|
+
stub_request(:mkcol, split_url.join('/')).
|
23
|
+
to_return(:status => 200, :body => '', :headers => {})
|
24
|
+
end
|
25
|
+
|
26
|
+
def stub_delete(url)
|
27
|
+
stub_request(:delete, url.to_s).
|
28
|
+
to_return(:status => 200, :body => '', :headers => {})
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,48 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carrierwave-webdav
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.1.1
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Qinix
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-06-05 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
14
|
+
name: carrierwave
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
20
|
+
type: :runtime
|
22
21
|
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
23
|
requirements:
|
26
|
-
- -
|
24
|
+
- - '>='
|
27
25
|
- !ruby/object:Gem::Version
|
28
26
|
version: '0'
|
29
|
-
name: carrierwave
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
28
|
+
name: httparty
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
34
|
+
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
37
|
requirements:
|
42
|
-
- -
|
38
|
+
- - '>='
|
43
39
|
- !ruby/object:Gem::Version
|
44
40
|
version: '0'
|
45
|
-
name: httparty
|
46
41
|
description: WebDAV support for CarrierWave
|
47
42
|
email:
|
48
43
|
- i@qinix.com
|
@@ -50,7 +45,9 @@ executables: []
|
|
50
45
|
extensions: []
|
51
46
|
extra_rdoc_files: []
|
52
47
|
files:
|
48
|
+
- .coveralls.yml
|
53
49
|
- .gitignore
|
50
|
+
- .travis.yml
|
54
51
|
- Gemfile
|
55
52
|
- LICENSE
|
56
53
|
- README.md
|
@@ -60,28 +57,35 @@ files:
|
|
60
57
|
- lib/carrierwave/storage/webdav.rb
|
61
58
|
- lib/carrierwave/webdav.rb
|
62
59
|
- lib/carrierwave/webdav/version.rb
|
60
|
+
- spec/fixtures/test.txt
|
61
|
+
- spec/lib/webdav_spec.rb
|
62
|
+
- spec/spec_helper.rb
|
63
|
+
- spec/supports/helpers.rb
|
63
64
|
homepage: https://github.com/qinix/carrierwave-webdav
|
64
65
|
licenses: []
|
66
|
+
metadata: {}
|
65
67
|
post_install_message:
|
66
68
|
rdoc_options: []
|
67
69
|
require_paths:
|
68
70
|
- lib
|
69
71
|
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
72
|
requirements:
|
72
|
-
- -
|
73
|
+
- - '>='
|
73
74
|
- !ruby/object:Gem::Version
|
74
75
|
version: '0'
|
75
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
77
|
requirements:
|
78
|
-
- -
|
78
|
+
- - '>='
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0'
|
81
81
|
requirements: []
|
82
82
|
rubyforge_project:
|
83
|
-
rubygems_version:
|
83
|
+
rubygems_version: 2.0.3
|
84
84
|
signing_key:
|
85
|
-
specification_version:
|
85
|
+
specification_version: 4
|
86
86
|
summary: WebDAV support for CarrierWave
|
87
|
-
test_files:
|
87
|
+
test_files:
|
88
|
+
- spec/fixtures/test.txt
|
89
|
+
- spec/lib/webdav_spec.rb
|
90
|
+
- spec/spec_helper.rb
|
91
|
+
- spec/supports/helpers.rb
|