spree_admin 5.6.0.rc1 → 5.6.0.rc2

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: 112e0c3ee899331fe67fe9874d7db6b61b37e9d550acfed787b83122370014e9
4
- data.tar.gz: 044e5b68c2fea6efe2d86709ca3d450914d9b1605945f38667ffca087ab0ff0e
3
+ metadata.gz: 90ed9ff29975856c2417492c84c16dbfcb8cc136bbf76a7f404db9cce03ee80a
4
+ data.tar.gz: ba6f587bdae6e04fb845d99cfc53be122976696531826125be93a6152ad6f2a3
5
5
  SHA512:
6
- metadata.gz: 35b0083ddb0541ca5bc4e2c4e33ec788335a97636cb907cbea742b5524bf9dbba311057de5fcc3439805a08eda45e92318626dc62650e38fc505cef2e1754794
7
- data.tar.gz: 361c2693dc6870aab5bc23b95f45b43121e05c76d889058e7a0f69474520314c5cccbcf9af0993746feadc50d050b3b5236a3bef52034f7b4ef1426a32d53f31
6
+ metadata.gz: 4b20e2468682791c8717692fd5e98502bc60ab6e631e3ce8dc159c11042b2acff52af02085a9c3aeede1554cd3c47be120a381a3eb4264152c2bbc87d8bb40ec
7
+ data.tar.gz: 780590cbac610b66987c667b0582878e7258425e54ccd1071c58dd8d1ab2d1836d5294ad6ba1580608e1c5a5627421f6f84964d1a2605efa35850ed0d1a3995b
@@ -7,25 +7,42 @@ module Spree
7
7
  class Updater
8
8
  SPREE_CLOUD_UPDATES_URL = 'https://spreecloud.io/updates.json'.freeze
9
9
 
10
- @updates = nil
10
+ class << self
11
+ def update_available?
12
+ fetch_updates.any?
13
+ end
11
14
 
12
- def self.update_available?
13
- fetch_updates.any?
14
- end
15
+ def latest_release
16
+ fetch_updates.first
17
+ end
15
18
 
16
- def self.latest_release
17
- @latest_release ||= fetch_updates.first
18
- end
19
+ def current_release
20
+ Spree.version
21
+ end
19
22
 
20
- def self.current_release
21
- @current_release ||= Spree.version
22
- end
23
+ # Returns the releases newer than the running version, fetched from
24
+ # spreecloud.io and cached for a day. The request carries only the
25
+ # running version, +Rails.env+, the storefront URL and the anonymous
26
+ # {Spree.install_id}. Failures are cached as an empty list too, so an
27
+ # unreachable endpoint costs at most one timed-out request per day.
28
+ #
29
+ # @return [Array<Hash>] newer releases, newest first
30
+ def fetch_updates
31
+ Rails.cache.fetch("spree/admin/updater/fetch_updates/#{current_release}", expires_in: 1.day) do
32
+ fetch_updates_from_spree_cloud
33
+ end
34
+ end
23
35
 
24
- def self.fetch_updates
25
- @updates ||= Rails.cache.fetch("spree/admin/updater/fetch_updates/#{current_release}", expires_in: 1.day) do
36
+ private
37
+
38
+ def fetch_updates_from_spree_cloud
26
39
  uri = URI(SPREE_CLOUD_UPDATES_URL)
27
- params = { version: current_release, environment: Rails.env, url: Spree::Store.current.url_or_custom_domain }
28
- uri.query = URI.encode_www_form(params)
40
+ uri.query = URI.encode_www_form(
41
+ version: current_release,
42
+ environment: Rails.env,
43
+ url: Spree::Current.store&.storefront_url,
44
+ install_id: Spree.install_id
45
+ )
29
46
 
30
47
  http = Net::HTTP.new(uri.host, uri.port)
31
48
  http.use_ssl = uri.scheme == 'https'
@@ -33,13 +50,11 @@ module Spree
33
50
  http.read_timeout = 1 # 1s timeout for reading the response
34
51
 
35
52
  response = http.get(uri)
36
- return {} unless response.is_a?(Net::HTTPSuccess)
37
-
38
- JSON.parse(response.body)
53
+ response.is_a?(Net::HTTPSuccess) ? JSON.parse(response.body) : []
54
+ rescue StandardError => e
55
+ Rails.error.report(e)
56
+ []
39
57
  end
40
- rescue StandardError => e
41
- Rails.error.report(e)
42
- {}
43
58
  end
44
59
  end
45
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.0.rc1
4
+ version: 5.6.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vendo Connect Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-15 00:00:00.000000000 Z
11
+ date: 2026-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 5.6.0.rc1
19
+ version: 5.6.0.rc2
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: 5.6.0.rc1
26
+ version: 5.6.0.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: active_link_to
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -1185,9 +1185,9 @@ licenses:
1185
1185
  - BSD-3-Clause
1186
1186
  metadata:
1187
1187
  bug_tracker_uri: https://github.com/spree/spree/issues
1188
- changelog_uri: https://github.com/spree/spree/releases/tag/v5.6.0.rc1
1188
+ changelog_uri: https://github.com/spree/spree/releases/tag/v5.6.0.rc2
1189
1189
  documentation_uri: https://docs.spreecommerce.org/
1190
- source_code_uri: https://github.com/spree/spree/tree/v5.6.0.rc1
1190
+ source_code_uri: https://github.com/spree/spree/tree/v5.6.0.rc2
1191
1191
  post_install_message:
1192
1192
  rdoc_options: []
1193
1193
  require_paths: