blobsterix_carrierwave 0.0.7 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/.ruby-version +1 -0
- data/CHANGELOG.txt +10 -0
- data/README.md +6 -0
- data/blobsterix_carrierwave.gemspec +2 -2
- data/lib/blobsterix_carrierwave/blobsterix_adhoc_transforms.rb +4 -3
- data/lib/blobsterix_carrierwave/blobsterix_carrierwave.rb +2 -2
- data/lib/blobsterix_carrierwave/blobsterix_storage.rb +14 -3
- data/lib/blobsterix_carrierwave/blobsterix_uploader.rb +1 -11
- data/lib/blobsterix_carrierwave/patches/carrierwave_0100_uploader_version_name.rb +62 -0
- data/lib/blobsterix_carrierwave/patches/carrierwave_090_uploader_version_name.rb +72 -0
- data/lib/blobsterix_carrierwave/version.rb +1 -1
- metadata +9 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5571825930a719842fb398fe30926e4c347056c1
|
4
|
+
data.tar.gz: 76feba09b117ae454252b3501a3802b1ae977b22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b09ec7994926e5c20b76ca337236c3cf36592d6fe00db2bea946be396b14f1aafacf12b04225d1c74c6f9faac0ff8449e7dd1d661f8bbb2d4a705373bc3d011d
|
7
|
+
data.tar.gz: 63747ed5dcab2209cad8dba84bea4f2f6eed0350f704f0f2e52a2ca94fb911159df640916284ad44c0a60e6b6af2cff56fa79cd33711c02eaf6299880f8d0da2
|
data/.gitignore
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0-p481
|
data/CHANGELOG.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
= 1.0.0
|
2
|
+
* updated fog and carrierwave.
|
3
|
+
BREAKING CHANGES:
|
4
|
+
* in case you used the uploader version patch before you have to now include the patches/carrierwave_0100_... version of the patch.
|
5
|
+
= 0.0.9
|
6
|
+
* made the version name change optional. found in patches folder
|
7
|
+
= 0.0.8
|
8
|
+
* changed uploaded version class naming. So they can be recreated from sessions.(needs to be changed when switching carrierwave version!!)
|
9
|
+
= 0.0.7
|
10
|
+
* something
|
1
11
|
= 0.0.6
|
2
12
|
* just version bump
|
3
13
|
= 0.0.5
|
data/README.md
CHANGED
@@ -84,6 +84,12 @@ Setup:
|
|
84
84
|
|
85
85
|
# this will generate the url and blobsterix will generate the image on the fly.
|
86
86
|
|
87
|
+
## Patches
|
88
|
+
|
89
|
+
In case you want to recreate uploader from saved instances you need fixed class names. To achieve this simply do:
|
90
|
+
|
91
|
+
require "blobsterix_carrierwave/patches/carrierwave_090_uploader_version_name"
|
92
|
+
|
87
93
|
## Contributing
|
88
94
|
|
89
95
|
1. Fork it
|
@@ -15,6 +15,6 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = BlobsterixCarrierwave::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency "carrierwave", "~> 0.
|
19
|
-
gem.add_dependency "fog" , "~> 1.
|
18
|
+
gem.add_dependency "carrierwave", "~> 0.10.0"
|
19
|
+
gem.add_dependency "fog" , "~> 1.22.0"
|
20
20
|
end
|
@@ -13,7 +13,7 @@ module BlobsterixAdhocTransforms
|
|
13
13
|
|
14
14
|
#init the trafos
|
15
15
|
(@options[:trafos] || []).each{|t|
|
16
|
-
|
16
|
+
self.send(t[0], t[1])
|
17
17
|
}
|
18
18
|
end
|
19
19
|
|
@@ -52,8 +52,9 @@ module BlobsterixAdhocTransforms
|
|
52
52
|
def method_missing(method, *args)
|
53
53
|
if BlobsterixAdhocTransforms.respond_to?(method)
|
54
54
|
@chain << BlobsterixAdhocTransforms.send(method, *args)
|
55
|
-
|
56
|
-
|
55
|
+
elsif uploader && uploader.respond_to?(method)
|
56
|
+
specific_trafo = uploader.send(method, *args)
|
57
|
+
@chain << specific_trafo if specific_trafo && specific_trafo.kind_of?(Hash)
|
57
58
|
end
|
58
59
|
self
|
59
60
|
end
|
@@ -48,7 +48,7 @@ module Blobsterix
|
|
48
48
|
# puts "Do: #{method} with #{args.inspect}"
|
49
49
|
# trafos.send(method, *args)
|
50
50
|
# end
|
51
|
-
BlobsterixAdhocTransforms::Generator.new(:trafos => self.class.processors.map{|method, args, condition|[method, args]}).transform(encrypt)
|
51
|
+
BlobsterixAdhocTransforms::Generator.new(:uploader => self,:trafos => self.class.processors.map{|method, args, condition|[method, args]}).transform(encrypt)
|
52
52
|
else
|
53
53
|
""
|
54
54
|
end
|
@@ -59,7 +59,7 @@ module Blobsterix
|
|
59
59
|
if enable_processing and version_name
|
60
60
|
current_processor = self.class
|
61
61
|
remote_processor_array = []
|
62
|
-
until current_processor.parent == Object
|
62
|
+
until current_processor.parent.parent == Object
|
63
63
|
remote_processor_array+=current_processor.processors.map{|method, args, condition|[method, args]}
|
64
64
|
current_processor = current_processor.parent
|
65
65
|
end
|
@@ -53,7 +53,7 @@ module CarrierWave
|
|
53
53
|
:key => path,
|
54
54
|
:public => @uploader.fog_public,
|
55
55
|
:collection => directory.files,
|
56
|
-
:
|
56
|
+
:service => directory.files.service
|
57
57
|
}.merge(@uploader.fog_attributes))
|
58
58
|
@file.metadata={"x-amz-meta-trafo" => @uploader.remote_process!(false)}
|
59
59
|
@file.save()
|
@@ -66,11 +66,22 @@ module CarrierWave
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def read
|
69
|
-
|
69
|
+
@read||=load_file_from_blobsterix
|
70
|
+
end
|
71
|
+
|
72
|
+
def load_file_from_blobsterix
|
73
|
+
uri = URI(public_url)
|
74
|
+
body = Net::HTTP.start(uri.host, uri.port) do |http|
|
75
|
+
response = http.get uri.path
|
76
|
+
response.body
|
77
|
+
end
|
78
|
+
body||""
|
70
79
|
end
|
80
|
+
|
71
81
|
def size
|
72
|
-
|
82
|
+
read.size
|
73
83
|
end
|
84
|
+
|
74
85
|
def delete
|
75
86
|
super()
|
76
87
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
class BlobsterixUploader < CarrierWave::Uploader::Base
|
3
3
|
|
4
|
-
include CarrierWave::MimeTypes
|
4
|
+
#include CarrierWave::MimeTypes
|
5
5
|
include Blobsterix::CarrierWave
|
6
6
|
|
7
7
|
#storage :file
|
@@ -9,16 +9,6 @@ class BlobsterixUploader < CarrierWave::Uploader::Base
|
|
9
9
|
|
10
10
|
include BlobsterixTransforms
|
11
11
|
|
12
|
-
after :store, :done_store
|
13
|
-
before :store, :before_store
|
14
|
-
|
15
|
-
def before_store obj
|
16
|
-
#puts "Start with storing"
|
17
|
-
end
|
18
|
-
def done_store obj
|
19
|
-
#puts "Done with storing"
|
20
|
-
end
|
21
|
-
|
22
12
|
# Override the directory where uploaded files will be stored.
|
23
13
|
# This is a sensible default for uploaders that are meant to be mounted:
|
24
14
|
def store_dir
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module CarrierWave
|
4
|
+
module Uploader
|
5
|
+
module Versions
|
6
|
+
module ClassMethods
|
7
|
+
def build_version(name, options)
|
8
|
+
uploader = Class.new(self)
|
9
|
+
const_set("Uploader#{name}".gsub('-', '_'), uploader)
|
10
|
+
uploader.version_names += [name]
|
11
|
+
uploader.versions = {}
|
12
|
+
uploader.processors = []
|
13
|
+
|
14
|
+
uploader.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
15
|
+
# Define the enable_processing method for versions so they get the
|
16
|
+
# value from the parent class unless explicitly overwritten
|
17
|
+
def self.enable_processing(value=nil)
|
18
|
+
self.enable_processing = value if value
|
19
|
+
if !@enable_processing.nil?
|
20
|
+
@enable_processing
|
21
|
+
else
|
22
|
+
superclass.enable_processing
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Regardless of what is set in the parent uploader, do not enforce the
|
27
|
+
# move_to_cache config option on versions because it moves the original
|
28
|
+
# file to the version's target file.
|
29
|
+
#
|
30
|
+
# If you want to enforce this setting on versions, override this method
|
31
|
+
# in each version:
|
32
|
+
#
|
33
|
+
# version :thumb do
|
34
|
+
# def move_to_cache
|
35
|
+
# true
|
36
|
+
# end
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
def move_to_cache
|
40
|
+
false
|
41
|
+
end
|
42
|
+
RUBY
|
43
|
+
|
44
|
+
class_eval <<-RUBY
|
45
|
+
def #{name}
|
46
|
+
versions[:#{name}]
|
47
|
+
end
|
48
|
+
RUBY
|
49
|
+
|
50
|
+
# Add the current version hash to class attribute :versions
|
51
|
+
current_version = {
|
52
|
+
name => {
|
53
|
+
:uploader => uploader,
|
54
|
+
:options => options
|
55
|
+
}
|
56
|
+
}
|
57
|
+
self.versions = versions.merge(current_version)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module CarrierWave
|
4
|
+
module Uploader
|
5
|
+
module Versions
|
6
|
+
module ClassMethods
|
7
|
+
def version(name, options = {}, &block)
|
8
|
+
name = name.to_sym
|
9
|
+
unless versions[name]
|
10
|
+
uploader = Class.new(self)
|
11
|
+
const_set("Uploader#{name}".gsub('-', '_'), uploader)
|
12
|
+
uploader.versions = {}
|
13
|
+
|
14
|
+
# Define the enable_processing method for versions so they get the
|
15
|
+
# value from the parent class unless explicitly overwritten
|
16
|
+
uploader.class_eval <<-RUBY, __FILE__, __LINE__ + 1
|
17
|
+
def self.enable_processing(value=nil)
|
18
|
+
self.enable_processing = value if value
|
19
|
+
if !@enable_processing.nil?
|
20
|
+
@enable_processing
|
21
|
+
else
|
22
|
+
superclass.enable_processing
|
23
|
+
end
|
24
|
+
end
|
25
|
+
RUBY
|
26
|
+
|
27
|
+
# Regardless of what is set in the parent uploader, do not enforce the
|
28
|
+
# move_to_cache config option on versions because it moves the original
|
29
|
+
# file to the version's target file.
|
30
|
+
#
|
31
|
+
# If you want to enforce this setting on versions, override this method
|
32
|
+
# in each version:
|
33
|
+
#
|
34
|
+
# version :thumb do
|
35
|
+
# def move_to_cache
|
36
|
+
# true
|
37
|
+
# end
|
38
|
+
# end
|
39
|
+
#
|
40
|
+
uploader.class_eval <<-RUBY
|
41
|
+
def move_to_cache
|
42
|
+
false
|
43
|
+
end
|
44
|
+
RUBY
|
45
|
+
|
46
|
+
# Add the current version hash to class attribute :versions
|
47
|
+
current_version = {}
|
48
|
+
current_version[name] = {
|
49
|
+
:uploader => uploader,
|
50
|
+
:options => options
|
51
|
+
}
|
52
|
+
self.versions = versions.merge(current_version)
|
53
|
+
|
54
|
+
versions[name][:uploader].version_names += [name]
|
55
|
+
|
56
|
+
class_eval <<-RUBY
|
57
|
+
def #{name}
|
58
|
+
versions[:#{name}]
|
59
|
+
end
|
60
|
+
RUBY
|
61
|
+
# as the processors get the output from the previous processors as their
|
62
|
+
# input we must not stack the processors here
|
63
|
+
versions[name][:uploader].processors = versions[name][:uploader].processors.dup
|
64
|
+
versions[name][:uploader].processors.clear
|
65
|
+
end
|
66
|
+
versions[name][:uploader].class_eval(&block) if block
|
67
|
+
versions[name]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blobsterix_carrierwave
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Sudmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: carrierwave
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.10.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.10.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fog
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.22.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.22.0
|
41
41
|
description: This gem is used to create a carrierwave binding to a blobsterix server
|
42
42
|
email:
|
43
43
|
- suddani@googlemail.com
|
@@ -47,6 +47,7 @@ extensions: []
|
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
49
|
- .gitignore
|
50
|
+
- .ruby-version
|
50
51
|
- CHANGELOG.txt
|
51
52
|
- Gemfile
|
52
53
|
- LICENSE
|
@@ -61,6 +62,8 @@ files:
|
|
61
62
|
- lib/blobsterix_carrierwave/blobsterix_storage.rb
|
62
63
|
- lib/blobsterix_carrierwave/blobsterix_transforms.rb
|
63
64
|
- lib/blobsterix_carrierwave/blobsterix_uploader.rb
|
65
|
+
- lib/blobsterix_carrierwave/patches/carrierwave_0100_uploader_version_name.rb
|
66
|
+
- lib/blobsterix_carrierwave/patches/carrierwave_090_uploader_version_name.rb
|
64
67
|
- lib/blobsterix_carrierwave/version.rb
|
65
68
|
homepage: http://experteer.com
|
66
69
|
licenses: []
|