dotdiff 3.0.1 → 4.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: dc1ca017c297dd63435e5282ad168d6e25ab0f9a3c8e2ac0caea8e2d2fa0df4e
4
- data.tar.gz: bbecf64885b04e5ed2cd123d6b930e3ceaa15c82a03e0ee67937bb49af385537
2
+ SHA1:
3
+ metadata.gz: c869fc9b85965913b4ba033845431a45f5a32f0b
4
+ data.tar.gz: db555b8adab6b02ac434cd6d490acf905a02b765
5
5
  SHA512:
6
- metadata.gz: df25e2add82e31537d9d6cab28f46c96cd251106a331a503709c9aa33e229ae64837c809a03c66e4142def23e3eedf05f49106101ba343bac48b61faeff16740
7
- data.tar.gz: 4ba8aafa62200080f35294ade8a7d1198f880de72385cc9196eff04654e72755daf3771084136639aa8a01f5c6844a78274b749cacd6a82570a01a1d8833fbe5
6
+ metadata.gz: a7f2639b01603bfa39c611bbc04b464880b0e3332d510ea369c9b9b42da0f2cf3ca722d8612e4390f7d4e7d75674069a64773198fe41acf75b86cd2eb6962bad
7
+ data.tar.gz: b4a57a11512cf4ee9fa8f03f8bbedd8af8f729beb4d92fd0c27800c8a9ffc977bc7673397eb24c359273d2e76ee6a369f20de284006c2abd7cba18963102ac67
data/dotdiff.gemspec CHANGED
@@ -4,14 +4,11 @@ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'dotdiff/version'
6
6
 
7
- is_java = RUBY_PLATFORM == 'java'
8
-
9
7
  Gem::Specification.new do |spec|
10
8
  spec.name = 'dotdiff'
11
9
  spec.version = DotDiff::VERSION
12
10
  spec.authors = ['Jon Normington']
13
11
  spec.email = ['jnormington@users.noreply.github.com']
14
- spec.platform = 'java' if is_java
15
12
 
16
13
  spec.summary = 'Image regression wrapper for Capybara and RSpec using image'\
17
14
  'magick supporting both MRI and JRuby versions'
@@ -25,11 +22,7 @@ Gem::Specification.new do |spec|
25
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
23
  spec.require_paths = ['lib']
27
24
 
28
- if is_java
29
- spec.add_runtime_dependency 'rmagick4j', '>= 0.4.0'
30
- else
31
- spec.add_runtime_dependency 'rmagick', '>= 2.15'
32
- end
25
+ spec.add_runtime_dependency 'mini_magick', '>= 4.11.0'
33
26
 
34
27
  spec.add_development_dependency 'bundler', '>= 2'
35
28
  spec.add_development_dependency 'capybara', '>= 2.6'
@@ -9,19 +9,19 @@ module DotDiff
9
9
  end
10
10
 
11
11
  def both_images_same_dimensions?
12
- base_image.rows == new_image.rows &&
13
- base_image.columns == new_image.columns
12
+ base_image.width == new_image.width &&
13
+ base_image.height == new_image.height
14
14
  end
15
15
 
16
16
  def total_pixels
17
- base_image.rows * base_image.columns
17
+ base_image.width * base_image.height
18
18
  end
19
19
 
20
20
  def dimensions_mismatch_msg
21
21
  <<~MSG
22
22
  Images are not the same dimensions to be compared
23
- Base file: #{base_image.columns}x#{base_image.rows}
24
- New file: #{new_image.columns}x#{new_image.rows}
23
+ Base file: #{base_image.width}x#{base_image.height}
24
+ New file: #{new_image.width}x#{new_image.height}
25
25
  MSG
26
26
  end
27
27
 
@@ -30,11 +30,11 @@ module DotDiff
30
30
  attr_reader :baseimg_file, :newimg_file
31
31
 
32
32
  def base_image
33
- @base_image ||= Magick::Image.read(baseimg_file).first
33
+ @base_image ||= MiniMagick::Image.open(baseimg_file)
34
34
  end
35
35
 
36
36
  def new_image
37
- @new_image ||= Magick::Image.read(newimg_file).first
37
+ @new_image ||= MiniMagick::Image.open(newimg_file)
38
38
  end
39
39
  end
40
40
  end
@@ -1,29 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rmagick'
3
+ require 'mini_magick'
4
4
 
5
5
  module DotDiff
6
6
  module Image
7
7
  module Cropper
8
8
  def crop_and_resave(element)
9
9
  image = load_image(fullscreen_file)
10
- image.crop!(
11
- element.rectangle.x.floor,
12
- element.rectangle.y.floor,
13
- width(element, image),
14
- height(element, image)
15
- )
16
10
 
11
+ # @see http://www.imagemagick.org/script/command-line-options.php?#crop
12
+ crop_area =
13
+ '' + width(element, image).to_s +
14
+ 'x' + height(element, image).to_s +
15
+ '+' + element.rectangle.x.floor.to_s +
16
+ '+' + element.rectangle.y.floor.to_s
17
+
18
+ image.crop crop_area
17
19
  image.write(cropped_file)
18
20
  end
19
21
 
20
22
  def load_image(file)
21
- Magick::Image.read(file).first
23
+ MiniMagick::Image.open(file)
22
24
  end
23
25
 
24
26
  def height(element, image)
25
27
  element_height = element.rectangle.height + element.rectangle.y
26
- image_height = image.rows
28
+ image_height = image.height
27
29
 
28
30
  if element_height > image_height
29
31
  image_height - element.rectangle.y
@@ -34,7 +36,7 @@ module DotDiff
34
36
 
35
37
  def width(element, image)
36
38
  element_width = element.rectangle.width + element.rectangle.x
37
- image_width = image.columns
39
+ image_width = image.width
38
40
 
39
41
  if element_width > image_width
40
42
  image_width - element.rectangle.x
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DotDiff
4
- VERSION = '3.0.1'
4
+ VERSION = '4.0.0'
5
5
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dotdiff
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Normington
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-28 00:00:00.000000000 Z
11
+ date: 2022-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rmagick
14
+ name: mini_magick
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.15'
19
+ version: 4.11.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: '2.15'
26
+ version: 4.11.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +118,7 @@ homepage: https://github.com/jnormington/dotdiff
118
118
  licenses:
119
119
  - MIT
120
120
  metadata: {}
121
- post_install_message:
121
+ post_install_message:
122
122
  rdoc_options: []
123
123
  require_paths:
124
124
  - lib
@@ -133,8 +133,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  - !ruby/object:Gem::Version
134
134
  version: '0'
135
135
  requirements: []
136
- rubygems_version: 3.1.2
137
- signing_key:
136
+ rubyforge_project:
137
+ rubygems_version: 2.6.14.4
138
+ signing_key:
138
139
  specification_version: 4
139
140
  summary: Image regression wrapper for Capybara and RSpec using imagemagick supporting
140
141
  both MRI and JRuby versions