blobsterix 0.0.10 → 0.0.11
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 +4 -4
- data/.travis.yml +12 -0
- data/CHANGELOG.txt +4 -0
- data/README.md +3 -0
- data/Rakefile +8 -1
- data/blobsterix.gemspec +5 -4
- data/lib/blobsterix/helper/accept_type.rb +2 -0
- data/lib/blobsterix/helper/data_response.rb +1 -1
- data/lib/blobsterix/storage/cache.rb +12 -3
- data/lib/blobsterix/transformation/transformation_chain.rb +1 -1
- data/lib/blobsterix/version.rb +1 -1
- data/templates/app/config.rb +4 -4
- metadata +25 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d6c5d8753eb7b819ab4fb8f8eda41051891141c
|
4
|
+
data.tar.gz: fafd4b138061ae869bc6c7f6fafd7efaf86a27f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd9a45bf0dfbca62e2deccd780c5e24b919f46d4939669b2f0e5e9ac9ca7115d258a2934834cea4a608c356dea1156cf97792fc519f62a55c6657b31553cd870
|
7
|
+
data.tar.gz: c87a7318aef732db856b14381c95becae98181f217ddce68c1980abbfbf78f1a3f414996367eb7b46610bdcda3d5989c2d5674f8ca0e191d6b4b0e7bd3d3eb29
|
data/.travis.yml
ADDED
data/CHANGELOG.txt
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Blobsterix
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/blobsterix)
|
4
|
+
[](https://travis-ci.org/experteer/blobsterix)
|
5
|
+
[](https://codeclimate.com/github/experteer/blobsterix)
|
3
6
|
|
4
7
|
# What's this?
|
5
8
|
|
data/Rakefile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
require "bundler/gem_tasks"
|
3
|
+
require 'rspec/core/rake_task'
|
3
4
|
|
4
5
|
|
5
6
|
desc "Simple cov"
|
@@ -10,4 +11,10 @@ task :simplecov do
|
|
10
11
|
end
|
11
12
|
require "blobsterix"
|
12
13
|
`rspec`
|
13
|
-
end
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
RSpec::Core::RakeTask.new do |t|
|
19
|
+
|
20
|
+
end
|
data/blobsterix.gemspec
CHANGED
@@ -2,11 +2,10 @@
|
|
2
2
|
require File.expand_path('../lib/blobsterix/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.required_ruby_version = '>= 2.0.0.p451'
|
6
5
|
gem.authors = ["Daniel Sudmann"]
|
7
6
|
gem.email = ["suddani@googlemail.com"]
|
8
|
-
gem.description = "
|
9
|
-
gem.summary = "
|
7
|
+
gem.description = "Blobsterix is a transcoding, caching, storage server that can transform your blobs (images, pdf, ...) at request time."
|
8
|
+
gem.summary = "Blobsterix is a transcoding, caching, storage server."
|
10
9
|
gem.homepage = "https://github.com/experteer/blobsterix"
|
11
10
|
gem.license = "MIT License"
|
12
11
|
|
@@ -32,9 +31,11 @@ Gem::Specification.new do |gem|
|
|
32
31
|
gem.add_dependency "ruby-webp", "~> 0.1.0"
|
33
32
|
gem.add_dependency "mini_magick", "~> 3.5.0"
|
34
33
|
|
35
|
-
gem.add_development_dependency "
|
34
|
+
gem.add_development_dependency "rake","~> 0.9.6"
|
35
|
+
gem.add_development_dependency "rspec", "~> 2.14.0"
|
36
36
|
gem.add_development_dependency "rspec-core"
|
37
37
|
gem.add_development_dependency "rspec-expectations"
|
38
38
|
gem.add_development_dependency "rspec-mocks"
|
39
39
|
gem.add_development_dependency "pry"
|
40
40
|
end
|
41
|
+
|
@@ -45,10 +45,12 @@ module Blobsterix
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def is? other_type
|
48
|
+
return false unless other_type
|
48
49
|
mediatype === other_type.mediatype || mediatype === "*" || other_type.mediatype === "*"
|
49
50
|
end
|
50
51
|
|
51
52
|
def equal? other_type
|
53
|
+
return false unless other_type
|
52
54
|
mediatype === other_type.mediatype and subtype === other_type.subtype# and factor == other_type.factor
|
53
55
|
end
|
54
56
|
|
@@ -14,7 +14,7 @@ module Blobsterix
|
|
14
14
|
if not meta.valid
|
15
15
|
Http.NotFound()
|
16
16
|
elsif xfile and etag != meta.etag
|
17
|
-
[200, meta.header.merge({"X-Sendfile" => meta.path}), ""]
|
17
|
+
[200, meta.header.merge({"X-Sendfile" => meta.path.to_s}), ""]
|
18
18
|
elsif etag != meta.etag
|
19
19
|
if env != nil && meta.size > 30000 && allow_chunks
|
20
20
|
chunkresponse
|
@@ -43,7 +43,8 @@ module Blobsterix
|
|
43
43
|
else
|
44
44
|
cache_path(blob_access).entries.each {|cache_file|
|
45
45
|
unless cache_file.to_s.match(/\.meta$/) || cache_file.directory?
|
46
|
-
|
46
|
+
base_name = cache_file.to_s.split("_")[0..1].join("_")
|
47
|
+
FileSystemMetaData.new(cache_path(blob_access).join(cache_file)).delete if base_name.match(cache_file_base(blob_access))
|
47
48
|
end
|
48
49
|
} if Dir.exist?(cache_path(blob_access))
|
49
50
|
end
|
@@ -66,11 +67,19 @@ module Blobsterix
|
|
66
67
|
end
|
67
68
|
|
68
69
|
def cache_file_path(blob_access)
|
69
|
-
cache_path(blob_access).join(blob_access
|
70
|
+
cache_path(blob_access).join(cache_file_name(blob_access))
|
71
|
+
end
|
72
|
+
|
73
|
+
def cache_file_name(blob_access)
|
74
|
+
[cache_file_base(blob_access), Murmur.Hash64B(blob_access.identifier).to_s()].join("_")
|
75
|
+
end
|
76
|
+
|
77
|
+
def cache_file_base(blob_access)
|
78
|
+
"#{blob_access.bucket}_#{blob_access.id.gsub("/","_")}"
|
70
79
|
end
|
71
80
|
|
72
81
|
def cache_path(blob_access)
|
73
|
-
@path.join(hash_filename(
|
82
|
+
@path.join(hash_filename(cache_file_base(blob_access)))
|
74
83
|
end
|
75
84
|
|
76
85
|
def hash_filename(filename)
|
@@ -63,7 +63,7 @@ module Blobsterix::Transformations
|
|
63
63
|
|
64
64
|
def with_tempfiles
|
65
65
|
tmpFiles = @transformations.size.times.map{|index|
|
66
|
-
Tempfile.new("#{
|
66
|
+
Tempfile.new("blobsterix_#{Thread.current.object_id}_#{index}")
|
67
67
|
}
|
68
68
|
keys = tmpFiles.map{|f| f.path }
|
69
69
|
|
data/lib/blobsterix/version.rb
CHANGED
data/templates/app/config.rb
CHANGED
@@ -2,9 +2,9 @@ module Blobsterix
|
|
2
2
|
|
3
3
|
# # If this function is uncommented it should return an environment
|
4
4
|
# # this env will override the one supplied from the command line
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
def self.env()
|
6
|
+
:development # or :production or :test
|
7
|
+
end
|
8
8
|
|
9
9
|
# # Use this method to set the port. (standard is 9000)
|
10
10
|
# def self.port()
|
@@ -46,7 +46,7 @@ module Blobsterix
|
|
46
46
|
# # For a different way check the environments files
|
47
47
|
# # The return should be in format of: trafoName_value,trafoName_value,....
|
48
48
|
# # Example: scale_2,rotate_20
|
49
|
-
# def self.decrypt_trafo(trafo_string,logger)
|
49
|
+
# def self.decrypt_trafo(blobaccess, trafo_string, logger)
|
50
50
|
# trafo_string
|
51
51
|
# end
|
52
52
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blobsterix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
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-04-
|
11
|
+
date: 2014-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -94,20 +94,34 @@ dependencies:
|
|
94
94
|
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.5.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rake
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.9.6
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.9.6
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: rspec
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ~>
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
117
|
+
version: 2.14.0
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ~>
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
124
|
+
version: 2.14.0
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rspec-core
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,7 +178,8 @@ dependencies:
|
|
164
178
|
- - '>='
|
165
179
|
- !ruby/object:Gem::Version
|
166
180
|
version: '0'
|
167
|
-
description:
|
181
|
+
description: Blobsterix is a transcoding, caching, storage server that can transform
|
182
|
+
your blobs (images, pdf, ...) at request time.
|
168
183
|
email:
|
169
184
|
- suddani@googlemail.com
|
170
185
|
executables:
|
@@ -173,6 +188,7 @@ extensions: []
|
|
173
188
|
extra_rdoc_files: []
|
174
189
|
files:
|
175
190
|
- .gitignore
|
191
|
+
- .travis.yml
|
176
192
|
- CHANGELOG.txt
|
177
193
|
- Gemfile
|
178
194
|
- LICENSE
|
@@ -277,7 +293,7 @@ rubyforge_project:
|
|
277
293
|
rubygems_version: 2.0.14
|
278
294
|
signing_key:
|
279
295
|
specification_version: 4
|
280
|
-
summary:
|
296
|
+
summary: Blobsterix is a transcoding, caching, storage server.
|
281
297
|
test_files:
|
282
298
|
- spec/lib/blob/blob_api_spec.rb
|
283
299
|
- spec/lib/helper/blob_access_spec.rb
|
@@ -287,3 +303,4 @@ test_files:
|
|
287
303
|
- spec/lib/storage/cache_spec.rb
|
288
304
|
- spec/lib/storage/file_system_spec.rb
|
289
305
|
- spec/spec_helper.rb
|
306
|
+
has_rdoc:
|