dynamic_image 3.0.3 → 3.0.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1bb0c1784966da4c77d72cca16f3210a70bc3902061bae5984078756569a7a3c
4
- data.tar.gz: 3748823e9aab5f7a95ac7cd55edfd4a985c4f3d0d372324a3e58ecbffba4fa45
3
+ metadata.gz: '084c4bb858c6b37005b9cc897b52904c21a1b294d09a4fd39475ffffe12411e3'
4
+ data.tar.gz: c30001eb7d32c3a6d92276b6b32032e0a72f4da7d529af9b82306d0dd273f2db
5
5
  SHA512:
6
- metadata.gz: aa45a369b349ecbe15aad01725f979cb64ee5fdabd6c78b9f27fc2754fd05e0bf8cc65b792e7b8866c990aeb0c4037f602345a37ba8cc6c4fa2e35849f05c6f1
7
- data.tar.gz: 99b4fa3790acecf8981cae6ca524601ff69cb9751768245d6cb0255bec7d43d10e7d129089a15e2cb4243a7821577c2ded5e9a9192d14e0d25f8758013a5f4c6
6
+ metadata.gz: 373bffd1279c00796203751acd203554a9060153df975eeb856072711363a6de5eeebd067af59ff640f1a7b30faac09fbc285e60fa86bf3e08df13a291b4024b
7
+ data.tar.gz: 3d03469a867658d950574f28de8910e3e9942d3fd2733aab1a7e229913f05ffca7b4cc62d11ceaa924e0e5d8a1b2f498f364f7c7d93902716aa19f35da629637
@@ -7,8 +7,8 @@ module DynamicImage
7
7
  extend ActiveSupport::Concern
8
8
 
9
9
  module ClassMethods
10
- def belongs_to_image(name, scope = nil, **options)
11
- belongs_to(name, scope, **options)
10
+ def belongs_to_image(name, scope = nil, **)
11
+ belongs_to(name, scope, **)
12
12
 
13
13
  define_method "#{name}=" do |new_image|
14
14
  if new_image.present? && !new_image.is_a?(DynamicImage::Model)
@@ -38,7 +38,7 @@ module DynamicImage
38
38
 
39
39
  private
40
40
 
41
- def secure_compare(str, other)
41
+ def secure_compare?(str, other)
42
42
  return false unless str.bytesize == other.bytesize
43
43
 
44
44
  l = str.unpack "C#{str.bytesize}"
@@ -60,7 +60,7 @@ module DynamicImage
60
60
  def valid_digest?(data, digest)
61
61
  data.present? &&
62
62
  digest.present? &&
63
- secure_compare(digest, generate_digest(data))
63
+ secure_compare?(digest, generate_digest(data))
64
64
  end
65
65
  end
66
66
  end
@@ -168,7 +168,7 @@ module DynamicImage
168
168
  action = options[:action].try(:to_s)
169
169
  size_opts = options.extract!(:size, :crop, :upscale)
170
170
  if size_opts[:size]
171
- image_sizing(record, size_opts, (action == "uncropped"))
171
+ image_sizing(record, size_opts, action == "uncropped")
172
172
  else
173
173
  (action == "original" ? record.real_size : record.size).floor.to_s
174
174
  end
@@ -15,6 +15,12 @@ module DynamicImage
15
15
 
16
16
  private
17
17
 
18
+ def blank_image
19
+ image.draw_rect([0.0] * image.bands,
20
+ 0, 0, image.get("width"), image.get("height"),
21
+ fill: true)
22
+ end
23
+
18
24
  def each_frame(&block)
19
25
  return apply(block.call(image)) unless frame_count > 1
20
26
 
@@ -22,7 +28,7 @@ module DynamicImage
22
28
  end
23
29
 
24
30
  def extract_frame(index)
25
- image.extract_area(0, (index * size.y), size.x, size.y)
31
+ image.extract_area(0, index * size.y, size.x, size.y)
26
32
  end
27
33
 
28
34
  def frames
@@ -79,11 +79,5 @@ module DynamicImage
79
79
  def apply(new_image)
80
80
  self.class.new(new_image, target_format:)
81
81
  end
82
-
83
- def blank_image
84
- image.draw_rect([0.0, 0.0, 0.0, 0.0],
85
- 0, 0, image.get("width"), image.get("height"),
86
- fill: true)
87
- end
88
82
  end
89
83
  end
@@ -37,7 +37,7 @@ module DynamicImage
37
37
  def read_file_header
38
38
  data_stream = stream
39
39
  header = data_stream.read(8)
40
- data_stream.seek((0 - header.length), IO::SEEK_CUR) if header
40
+ data_stream.seek(0 - header.length, IO::SEEK_CUR) if header
41
41
  header
42
42
  end
43
43
 
@@ -108,14 +108,13 @@ module DynamicImage
108
108
  def read_image_metadata
109
109
  metadata = DynamicImage::Metadata.new(data)
110
110
  @valid_image = false
111
- if metadata.valid?
112
- self.colorspace = metadata.colorspace
113
- self.real_width = metadata.width
114
- self.real_height = metadata.height
115
- self.content_type = metadata.content_type
116
- @valid_image = true
117
- end
118
- true
111
+ return unless metadata.valid?
112
+
113
+ self.colorspace = metadata.colorspace
114
+ self.real_width = metadata.width
115
+ self.real_height = metadata.height
116
+ self.content_type = metadata.content_type
117
+ @valid_image = true
119
118
  end
120
119
 
121
120
  def valid_image?
@@ -40,7 +40,11 @@ module DynamicImage
40
40
  def find_variant(size)
41
41
  return nil unless record.persisted?
42
42
 
43
- record.variants.find_by(variant_params(size))
43
+ variant = record.variants.find_by(variant_params(size))
44
+ variant&.tap(&:data)
45
+ rescue Dis::Errors::NotFoundError
46
+ variant.destroy
47
+ nil
44
48
  end
45
49
 
46
50
  def format
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicImage
4
- VERSION = "3.0.3"
4
+ VERSION = "3.0.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_image
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-06-26 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: dis
@@ -36,14 +35,14 @@ dependencies:
36
35
  requirements:
37
36
  - - ">"
38
37
  - !ruby/object:Gem::Version
39
- version: '5.0'
38
+ version: '7.0'
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
43
42
  requirements:
44
43
  - - ">"
45
44
  - !ruby/object:Gem::Version
46
- version: '5.0'
45
+ version: '7.0'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: ruby-vips
49
48
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +121,6 @@ licenses:
122
121
  - MIT
123
122
  metadata:
124
123
  rubygems_mfa_required: 'true'
125
- post_install_message:
126
124
  rdoc_options: []
127
125
  require_paths:
128
126
  - lib
@@ -130,15 +128,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
128
  requirements:
131
129
  - - ">="
132
130
  - !ruby/object:Gem::Version
133
- version: 3.1.0
131
+ version: 3.2.0
134
132
  required_rubygems_version: !ruby/object:Gem::Requirement
135
133
  requirements:
136
134
  - - ">="
137
135
  - !ruby/object:Gem::Version
138
136
  version: '0'
139
137
  requirements: []
140
- rubygems_version: 3.5.3
141
- signing_key:
138
+ rubygems_version: 3.7.1
142
139
  specification_version: 4
143
140
  summary: Rails plugin that simplifies image uploading and processing
144
141
  test_files: []