paperclip-vips 1.1.0 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25b4601f012a9e1916a415fb83af8ea29e4f5d0a1a961bdd2a8780fb9eb09891
4
- data.tar.gz: 07e04b8e2b8de1bdef06679ccfd759a1e13d88ad7c5a739710c9903e857297e4
3
+ metadata.gz: 7ae2f6d67f0b4f56d5fe0a24af01b01c424d54a16ddc0b9e7d0b8abef95e3bfe
4
+ data.tar.gz: 8db36f72a48bea6b6e071fb65daf65112a67d5bf46d641f45c9bb2538a25aa82
5
5
  SHA512:
6
- metadata.gz: 78c286fd9428cee69a9c9e87edf2808e45eebd611f1e87e2cb48bb0f554548d82c1ddfd78dcaffc6de621cae4095bbdf257327cf0dc7330dc741169f36d2d16e
7
- data.tar.gz: 8e1349c141065d91940c6ef4b504ea9bfd8e11dcf139f73b92304e9f8ca55436e43346bc8301e24f1d63a00e34590b48a881d799ce4740d0bf8e27808204f2fe
6
+ metadata.gz: 1a9b022534d9463681394514795cc6966d85798c0c28da2fae5dc4f7f9f2d3d8ab6341c6f99fcd80c745413b7e85edf39105b45819e271b375420d32b4d4c388
7
+ data.tar.gz: 0d282b14f4ca78798509ef4ddfee89803cca46647e99c0c893879b4ae66a8603adb565d3557c64657d773a0374ea1dd3205dab73c54a22b364492bcf26f9f35d
data/CHANGELOG.md ADDED
@@ -0,0 +1,19 @@
1
+ ## [1.2.2] - 2022-04-13
2
+
3
+ - Add support for `auto_orient` option
4
+
5
+ ## [1.2.1] - 2022-01-31
6
+
7
+ - Update dev dependencies
8
+
9
+ ## [1.2.0] - 2022-01-31
10
+
11
+ - Update ruby-vips and dependencies
12
+
13
+ ## [1.1.0] - 2019-06-06
14
+
15
+ - Check paperclip filename to get file format
16
+
17
+ ## [1.0.0] - 2019-05-31
18
+
19
+ - Setup the initial project and base components.
data/Gemfile.lock CHANGED
@@ -1,59 +1,65 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- paperclip-vips (1.1.0)
4
+ paperclip-vips (1.2.2)
5
5
  paperclip (>= 5.0.0)
6
- ruby-vips (~> 2.0.13)
6
+ ruby-vips (~> 2.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activemodel (5.2.3)
12
- activesupport (= 5.2.3)
13
- activesupport (5.2.3)
11
+ activemodel (6.1.4.4)
12
+ activesupport (= 6.1.4.4)
13
+ activesupport (6.1.4.4)
14
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
- i18n (>= 0.7, < 2)
16
- minitest (~> 5.1)
17
- tzinfo (~> 1.1)
18
- byebug (11.0.1)
15
+ i18n (>= 1.6, < 2)
16
+ minitest (>= 5.1)
17
+ tzinfo (~> 2.0)
18
+ zeitwerk (~> 2.3)
19
+ byebug (11.1.3)
19
20
  climate_control (0.2.0)
20
- concurrent-ruby (1.1.5)
21
- diff-lcs (1.3)
22
- ffi (1.11.1)
23
- i18n (1.6.0)
21
+ concurrent-ruby (1.1.9)
22
+ diff-lcs (1.5.0)
23
+ ffi (1.15.5)
24
+ i18n (1.9.1)
24
25
  concurrent-ruby (~> 1.0)
25
- mime-types (3.2.2)
26
+ mime-types (3.4.1)
26
27
  mime-types-data (~> 3.2015)
27
- mime-types-data (3.2019.0331)
28
- mimemagic (0.3.3)
29
- minitest (5.11.3)
28
+ mime-types-data (3.2022.0105)
29
+ mimemagic (0.3.10)
30
+ nokogiri (~> 1)
31
+ rake
32
+ minitest (5.15.0)
33
+ nokogiri (1.12.5)
34
+ racc (~> 1.4)
30
35
  paperclip (6.1.0)
31
36
  activemodel (>= 4.2.0)
32
37
  activesupport (>= 4.2.0)
33
38
  mime-types
34
39
  mimemagic (~> 0.3.0)
35
40
  terrapin (~> 0.6.0)
36
- rake (10.5.0)
37
- rspec (3.8.0)
38
- rspec-core (~> 3.8.0)
39
- rspec-expectations (~> 3.8.0)
40
- rspec-mocks (~> 3.8.0)
41
- rspec-core (3.8.0)
42
- rspec-support (~> 3.8.0)
43
- rspec-expectations (3.8.3)
41
+ racc (1.6.0)
42
+ rake (13.0.6)
43
+ rspec (3.10.0)
44
+ rspec-core (~> 3.10.0)
45
+ rspec-expectations (~> 3.10.0)
46
+ rspec-mocks (~> 3.10.0)
47
+ rspec-core (3.10.2)
48
+ rspec-support (~> 3.10.0)
49
+ rspec-expectations (3.10.2)
44
50
  diff-lcs (>= 1.2.0, < 2.0)
45
- rspec-support (~> 3.8.0)
46
- rspec-mocks (3.8.0)
51
+ rspec-support (~> 3.10.0)
52
+ rspec-mocks (3.10.3)
47
53
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.8.0)
49
- rspec-support (3.8.0)
50
- ruby-vips (2.0.13)
51
- ffi (~> 1.9)
54
+ rspec-support (~> 3.10.0)
55
+ rspec-support (3.10.3)
56
+ ruby-vips (2.1.4)
57
+ ffi (~> 1.12)
52
58
  terrapin (0.6.0)
53
59
  climate_control (>= 0.0.3, < 1.0)
54
- thread_safe (0.3.6)
55
- tzinfo (1.2.5)
56
- thread_safe (~> 0.1)
60
+ tzinfo (2.0.4)
61
+ concurrent-ruby (~> 1.0)
62
+ zeitwerk (2.5.4)
57
63
 
58
64
  PLATFORMS
59
65
  ruby
@@ -62,8 +68,8 @@ DEPENDENCIES
62
68
  bundler (~> 2.0)
63
69
  byebug (~> 11.0)
64
70
  paperclip-vips!
65
- rake (~> 10.0)
71
+ rake (~> 13.0)
66
72
  rspec (~> 3.0)
67
73
 
68
74
  BUNDLED WITH
69
- 2.0.1
75
+ 2.0.2
@@ -1,7 +1,7 @@
1
1
  module Paperclip
2
2
  class Vips < Processor
3
- attr_accessor :current_geometry, :target_geometry, :format, :whiny, :convert_options,
4
- :source_file_options, :auto_orient
3
+ attr_accessor :auto_orient, :convert_options, :current_geometry, :format, :source_file_options,
4
+ :target_geometry, :whiny
5
5
 
6
6
  def initialize(file, options = {}, attachment = nil)
7
7
  super
@@ -11,7 +11,10 @@ module Paperclip
11
11
  @target_geometry = options.fetch(:string_geometry_parser, Geometry).parse(geometry)
12
12
  @current_geometry = options.fetch(:file_geometry_parser, Geometry).from_file(@file)
13
13
  @whiny = options.fetch(:whiny, true)
14
-
14
+
15
+ @auto_orient = options.fetch(:auto_orient, true)
16
+ @convert_options = options[:convert_options]
17
+
15
18
  @current_format = current_format(file).downcase
16
19
  @format = options[:format] || @current_format
17
20
 
@@ -67,8 +70,8 @@ module Paperclip
67
70
  end
68
71
 
69
72
  def process_convert_options(image)
70
- if image && @options[:convert_options].present?
71
- commands = JSON.parse(@options[:convert_options], symbolize_names: true)
73
+ if image
74
+ commands = parsed_convert_commands(@convert_options)
72
75
  commands.each do |cmd|
73
76
  image = ::Vips::Operation.call(cmd[:cmd], [image, *cmd[:args]], cmd[:optional] || {})
74
77
  end
@@ -77,6 +80,20 @@ module Paperclip
77
80
  return image
78
81
  end
79
82
 
83
+ def parsed_convert_commands(convert_options)
84
+ begin
85
+ commands = JSON.parse(convert_options, symbolize_names: true)
86
+ rescue
87
+ commands = []
88
+ end
89
+
90
+ if @auto_orient && commands.exclude?({ cmd: "autorot" })
91
+ commands.unshift({ cmd: "autorot" })
92
+ end
93
+
94
+ return commands
95
+ end
96
+
80
97
  def save_thumbnail(thumbnail, path)
81
98
  case @current_format
82
99
  when ".jpeg", ".jpg"
@@ -1,3 +1,3 @@
1
1
  module PaperclipVips
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.2"
3
3
  end
@@ -22,11 +22,11 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_runtime_dependency 'paperclip', '>= 5.0.0'
26
- spec.add_runtime_dependency "ruby-vips", "~> 2.0.13"
25
+ spec.add_runtime_dependency 'paperclip', ">= 5.0.0"
26
+ spec.add_runtime_dependency "ruby-vips", "~> 2.1"
27
27
 
28
28
  spec.add_development_dependency "bundler", "~> 2.0"
29
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "rake", "~> 13.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
  spec.add_development_dependency "byebug", "~> 11.0"
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-vips
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Greeff
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-06 00:00:00.000000000 Z
11
+ date: 2022-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paperclip
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 2.0.13
33
+ version: '2.1'
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: 2.0.13
40
+ version: '2.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +94,7 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '11.0'
97
- description:
97
+ description:
98
98
  email:
99
99
  - ken@kengreeff.com
100
100
  executables: []
@@ -104,6 +104,7 @@ files:
104
104
  - ".gitignore"
105
105
  - ".rspec"
106
106
  - ".travis.yml"
107
+ - CHANGELOG.md
107
108
  - CODE_OF_CONDUCT.md
108
109
  - Gemfile
109
110
  - Gemfile.lock
@@ -120,7 +121,7 @@ homepage: https://github.com/realhub/paperclip-vips
120
121
  licenses:
121
122
  - MIT
122
123
  metadata: {}
123
- post_install_message:
124
+ post_install_message:
124
125
  rdoc_options: []
125
126
  require_paths:
126
127
  - lib
@@ -135,9 +136,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
136
  - !ruby/object:Gem::Version
136
137
  version: '0'
137
138
  requirements: []
138
- rubyforge_project:
139
- rubygems_version: 2.7.6.2
140
- signing_key:
139
+ rubyforge_project:
140
+ rubygems_version: 2.7.10
141
+ signing_key:
141
142
  specification_version: 4
142
143
  summary: Uses Ruby Vips to when creating thumbnails for faster generation.
143
144
  test_files: []