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 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
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
data/Gemfile CHANGED
@@ -1,4 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in carrierwave-dropbox.gemspec
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
@@ -1 +1,5 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec)
5
+ task :default => :spec
@@ -56,12 +56,12 @@ module CarrierWave
56
56
  end
57
57
 
58
58
  def read
59
- HTTParty.get(fullurl, options).body
59
+ HTTParty.get(url, options).body
60
60
  end
61
61
 
62
62
  def write(file)
63
63
  mkcol
64
- HTTParty.put(fullurl, options.merge({ body: file }))
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(fullurl, options)
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
- def fullurl
81
- "#{server}/#{path}"
82
- end
83
-
84
+
84
85
  def mkcol
85
86
  dirs = []
86
87
  path.split('/')[0...-1].each do |dir|
@@ -1,5 +1,5 @@
1
1
  module CarrierWave
2
2
  module WebDAV
3
- VERSION = "0.1.1"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -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
@@ -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
- prerelease:
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-01-03 00:00:00.000000000 Z
11
+ date: 2013-06-05 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- type: :runtime
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
- type: :runtime
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: 1.8.24
83
+ rubygems_version: 2.0.3
84
84
  signing_key:
85
- specification_version: 3
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