carrierwave-webdav 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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