izi_lightup 1.0.15 → 1.0.16

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: 2e7e30e1ff97cc6b16730239bcf02e5f358bc82044955814691b1e6316f276cf
4
- data.tar.gz: 7fd8a0f1c1a3307d24b7b4ea3097d96097a00b0f852a03e1162022f56a7ff742
3
+ metadata.gz: f573f7d4f976500f7b282e1ffd0f4451d5f21819fd00db8eb194f94ac04fce96
4
+ data.tar.gz: c22e4553b330af4fa7552bd8824abf415a8716379d40fd27401b479b900d7b96
5
5
  SHA512:
6
- metadata.gz: 1241aa88ea51a93c0f758c562e874b9ece8ae5deb0529f3caeaf97e680cda17956872c1bd531fd3da86ba7a5c540049ab18bcc3bfe920a887dcc9b3ebf7ec91f
7
- data.tar.gz: aac72a7034f95f5986933b918cde5316c9d6b8744246b5e914d6f4427be83e2c0f4f5ad416db96a6e19a03a35ee32b37b21815a9f5ebe66e9fb25381fe56fe2b
6
+ metadata.gz: a937fbf2e756c1f4266921c6e47f3700bcd586c628e0137010e7f5baebe13e7c7b2a0bc2b528c37f21d87b5972f3a55fa828e37b05554d81669e1acd8f554dc6
7
+ data.tar.gz: 02a4203383a8f675719a4593c419019e8323de9840eda5bff1640f41cc75dd4e9c03f03a9a71c4d2e8bf239443d0a882afb76c5ba154a24af6998ab0fac3ba3b
@@ -19,7 +19,7 @@ module IziLightup
19
19
  next unless version_name == :default || item.data.respond_to?(version_name)
20
20
 
21
21
  version = version_name == :default ? item.data : item.data.public_send(version_name)
22
- next unless version&.file&.exists? && version&.url&.present?
22
+ next unless version_exists?(version)
23
23
 
24
24
  url = version.url
25
25
  dimensions = safe_dimentions(item, version)
@@ -37,15 +37,29 @@ module IziLightup
37
37
 
38
38
  private
39
39
 
40
- def safe_dimentions(item, version)
41
- dimensions = nil
40
+ def version_exists?(version)
41
+ return true if version&.url&.present? && version.url =~ /https?:/
42
+
43
+ version&.file&.exists? && version&.url&.present?
44
+ end
45
+
46
+ def fallback_dimentions(item)
47
+ [item&.width, item&.height].compact
48
+ end
49
+
50
+ def safe_dimentions_extract(item, version)
42
51
  begin
43
- dimensions = version.dimensions
52
+ version.dimensions
44
53
  rescue MiniMagick::Error => _e
45
- dimensions = [item&.width, item&.height].compact
54
+ fallback_dimentions(item)
46
55
  end
56
+ end
57
+
58
+ def safe_dimentions(item, version)
59
+ dimensions = fallback_dimentions(item) if version.url =~ /https?:/
60
+ dimensions ||= safe_dimentions_extract(item, version)
47
61
 
48
- return {} if dimensions.blank?
62
+ return {} if dimensions.blank? || (dimensions.size != 2)
49
63
 
50
64
  %i[width height].zip(dimensions).to_h
51
65
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IziLightup
4
- VERSION = '1.0.15'
4
+ VERSION = '1.0.16'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: izi_lightup
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - IzikAJ
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-27 00:00:00.000000000 Z
11
+ date: 2021-02-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |-
14
14
  Utils to speed up page load by using critical css &