dragonfly_libvips 2.3.3 → 2.4.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 +4 -4
- data/.ruby-version +1 -0
- data/.tool-versions +1 -0
- data/.travis.yml +1 -1
- data/CHANGELOG.md +4 -0
- data/dragonfly_libvips.gemspec +2 -2
- data/lib/dragonfly_libvips.rb +10 -0
- data/lib/dragonfly_libvips/analysers/image_properties.rb +1 -1
- data/lib/dragonfly_libvips/processors/encode.rb +7 -5
- data/lib/dragonfly_libvips/processors/extract_area.rb +3 -3
- data/lib/dragonfly_libvips/processors/rotate.rb +3 -3
- data/lib/dragonfly_libvips/processors/thumb.rb +4 -4
- data/lib/dragonfly_libvips/version.rb +1 -1
- metadata +12 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1d8704fd9ff1232cc9c6d7ee96f254823b35b08d47a2f4652ecdd2c871adf30
|
4
|
+
data.tar.gz: f901f9e4b8e36147a33fa59745d38d1d64904a7d7d2d3594529e85a0a398b091
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc289e762b526da8fcf8d16acf8464ce42e55122be0b24a07858127c8ddbbe6b217ba42ecd3dadc4867b2b2c8ab25b7ba1ee34257091ced5f05c9922adc41a99
|
7
|
+
data.tar.gz: 52f53405a530bf31cdf196cb647b1cfeba0bff6e4bda7489d751f1e071fed36f7ae87196c19be0d68e0cf7790fd2a5c6f198764502fbb48d66fd670961b9dd80
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.3
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.6.3
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/dragonfly_libvips.gemspec
CHANGED
@@ -19,9 +19,9 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
21
|
spec.add_dependency 'dragonfly', '~> 1.0'
|
22
|
-
spec.add_dependency 'ruby-vips', '~> 2.0', '
|
22
|
+
spec.add_dependency 'ruby-vips', '~> 2.0', '>= 2.0.16'
|
23
23
|
|
24
|
-
spec.add_development_dependency 'bundler'
|
24
|
+
spec.add_development_dependency 'bundler'#, '~> 2.0'
|
25
25
|
spec.add_development_dependency 'rb-readline'
|
26
26
|
spec.add_development_dependency 'guard'
|
27
27
|
spec.add_development_dependency 'guard-minitest'
|
data/lib/dragonfly_libvips.rb
CHANGED
@@ -35,4 +35,14 @@ module DragonflyLibvips
|
|
35
35
|
]
|
36
36
|
|
37
37
|
FORMATS_WITHOUT_PROFILE_SUPPORT = %w[bmp dz gif hdr webp heic]
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def self.stringify_keys(hash = {})
|
42
|
+
hash.each_with_object({}) { |(k, v), memo| memo[k.to_s] = v }
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.symbolize_keys(hash = {})
|
46
|
+
hash.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v }
|
47
|
+
end
|
38
48
|
end
|
@@ -14,7 +14,7 @@ module DragonflyLibvips
|
|
14
14
|
input_options['autorotate'] = true if content.mime_type == 'image/jpeg'
|
15
15
|
input_options['dpi'] = DPI if content.mime_type == 'application/pdf'
|
16
16
|
|
17
|
-
img = ::Vips::Image.new_from_file(content.path, input_options)
|
17
|
+
img = ::Vips::Image.new_from_file(content.path, DragonflyLibvips.symbolize_keys(input_options))
|
18
18
|
|
19
19
|
width = img.width
|
20
20
|
height = img.height
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'vips'
|
2
4
|
|
3
5
|
module DragonflyLibvips
|
@@ -19,12 +21,12 @@ module DragonflyLibvips
|
|
19
21
|
return
|
20
22
|
end
|
21
23
|
|
22
|
-
options =
|
24
|
+
options = DragonflyLibvips.stringify_keys(options)
|
23
25
|
|
24
26
|
input_options = options.fetch('input_options', {})
|
25
27
|
input_options['access'] ||= 'sequential'
|
26
28
|
if content.mime_type == 'image/jpeg'
|
27
|
-
input_options['autorotate'] = true unless input_options.
|
29
|
+
input_options['autorotate'] = true unless input_options.key?('autorotate')
|
28
30
|
end
|
29
31
|
|
30
32
|
output_options = options.fetch('output_options', {})
|
@@ -36,17 +38,17 @@ module DragonflyLibvips
|
|
36
38
|
output_options.delete('Q') unless format.to_s =~ /jpg|jpeg/i
|
37
39
|
output_options['format'] ||= format.to_s if format.to_s =~ /gif|bmp/i
|
38
40
|
|
39
|
-
img = ::Vips::Image.new_from_file(content.path, input_options)
|
41
|
+
img = ::Vips::Image.new_from_file(content.path, DragonflyLibvips.symbolize_keys(input_options))
|
40
42
|
|
41
43
|
content.update(
|
42
|
-
img.write_to_buffer(".#{format}", output_options),
|
44
|
+
img.write_to_buffer(".#{format}", DragonflyLibvips.symbolize_keys(output_options)),
|
43
45
|
'name' => "temp.#{format}",
|
44
46
|
'format' => format
|
45
47
|
)
|
46
48
|
content.ext = format
|
47
49
|
end
|
48
50
|
|
49
|
-
def update_url(url_attributes, format,
|
51
|
+
def update_url(url_attributes, format, _options = {})
|
50
52
|
url_attributes.ext = format.to_s
|
51
53
|
end
|
52
54
|
end
|
@@ -7,7 +7,7 @@ module DragonflyLibvips
|
|
7
7
|
raise UnsupportedFormat unless content.ext
|
8
8
|
raise UnsupportedFormat unless SUPPORTED_FORMATS.include?(content.ext.downcase)
|
9
9
|
|
10
|
-
options =
|
10
|
+
options = DragonflyLibvips.stringify_keys(options)
|
11
11
|
format = options.fetch('format', content.ext)
|
12
12
|
|
13
13
|
input_options = options.fetch('input_options', {})
|
@@ -26,11 +26,11 @@ module DragonflyLibvips
|
|
26
26
|
output_options.delete('Q') unless format.to_s =~ /jpg|jpeg/i
|
27
27
|
output_options['format'] ||= format.to_s if format.to_s =~ /gif|bmp/i
|
28
28
|
|
29
|
-
img = ::Vips::Image.new_from_file(content.path, input_options)
|
29
|
+
img = ::Vips::Image.new_from_file(content.path, DragonflyLibvips.symbolize_keys(input_options))
|
30
30
|
img = img.extract_area(x, y, width, height)
|
31
31
|
|
32
32
|
content.update(
|
33
|
-
img.write_to_buffer(".#{format}", output_options),
|
33
|
+
img.write_to_buffer(".#{format}", DragonflyLibvips.symbolize_keys(output_options)),
|
34
34
|
'name' => "temp.#{format}",
|
35
35
|
'format' => format
|
36
36
|
)
|
@@ -7,7 +7,7 @@ module DragonflyLibvips
|
|
7
7
|
raise UnsupportedFormat unless content.ext
|
8
8
|
raise UnsupportedFormat unless SUPPORTED_FORMATS.include?(content.ext.downcase)
|
9
9
|
|
10
|
-
options =
|
10
|
+
options = DragonflyLibvips.stringify_keys(options)
|
11
11
|
format = options.fetch('format', content.ext)
|
12
12
|
|
13
13
|
input_options = options.fetch('input_options', {})
|
@@ -26,11 +26,11 @@ module DragonflyLibvips
|
|
26
26
|
output_options.delete('Q') unless format.to_s =~ /jpg|jpeg/i
|
27
27
|
output_options['format'] ||= format.to_s if format.to_s =~ /gif|bmp/i
|
28
28
|
|
29
|
-
img = ::Vips::Image.new_from_file(content.path, input_options)
|
29
|
+
img = ::Vips::Image.new_from_file(content.path, DragonflyLibvips.symbolize_keys(input_options))
|
30
30
|
img = img.rot("d#{rotate}")
|
31
31
|
|
32
32
|
content.update(
|
33
|
-
img.write_to_buffer(".#{format}", output_options),
|
33
|
+
img.write_to_buffer(".#{format}", DragonflyLibvips.symbolize_keys(output_options)),
|
34
34
|
'name' => "temp.#{format}",
|
35
35
|
'format' => format
|
36
36
|
)
|
@@ -12,7 +12,7 @@ module DragonflyLibvips
|
|
12
12
|
raise UnsupportedFormat unless content.ext
|
13
13
|
raise UnsupportedFormat unless SUPPORTED_FORMATS.include?(content.ext.downcase)
|
14
14
|
|
15
|
-
options =
|
15
|
+
options = DragonflyLibvips.stringify_keys(options)
|
16
16
|
|
17
17
|
filename = content.path
|
18
18
|
format = options.fetch('format', content.ext).to_s
|
@@ -39,7 +39,7 @@ module DragonflyLibvips
|
|
39
39
|
output_options['format'] ||= format.to_s if format.to_s =~ /gif|bmp/i
|
40
40
|
|
41
41
|
input_options = input_options.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v } # symbolize
|
42
|
-
img = ::Vips::Image.new_from_file(filename, input_options)
|
42
|
+
img = ::Vips::Image.new_from_file(filename, DragonflyLibvips.symbolize_keys(input_options))
|
43
43
|
|
44
44
|
dimensions = case geometry
|
45
45
|
when RESIZE_GEOMETRY then Dimensions.call(geometry, img.width, img.height)
|
@@ -63,10 +63,10 @@ module DragonflyLibvips
|
|
63
63
|
filename += "[page=#{input_options[:page]}]" if content.mime_type == 'application/pdf'
|
64
64
|
|
65
65
|
thumbnail_options = thumbnail_options.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v } # symbolize
|
66
|
-
thumb = ::Vips::Image.thumbnail(filename, dimensions.width.ceil, thumbnail_options)
|
66
|
+
thumb = ::Vips::Image.thumbnail(filename, dimensions.width.ceil, DragonflyLibvips.symbolize_keys(thumbnail_options))
|
67
67
|
|
68
68
|
content.update(
|
69
|
-
thumb.write_to_buffer(".#{format}", output_options),
|
69
|
+
thumb.write_to_buffer(".#{format}", DragonflyLibvips.symbolize_keys(output_options)),
|
70
70
|
'name' => "temp.#{format}",
|
71
71
|
'format' => format
|
72
72
|
)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dragonfly_libvips
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Celizna
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dragonfly
|
@@ -31,9 +31,9 @@ dependencies:
|
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.0'
|
34
|
-
- - "
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 2.0.
|
36
|
+
version: 2.0.16
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -41,23 +41,23 @@ dependencies:
|
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '2.0'
|
44
|
-
- - "
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.0.
|
46
|
+
version: 2.0.16
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- - "
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- - "
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: rb-readline
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +150,8 @@ extensions: []
|
|
150
150
|
extra_rdoc_files: []
|
151
151
|
files:
|
152
152
|
- ".gitignore"
|
153
|
+
- ".ruby-version"
|
154
|
+
- ".tool-versions"
|
153
155
|
- ".travis.yml"
|
154
156
|
- CHANGELOG.md
|
155
157
|
- Gemfile
|