geoblacklight 4.6.0 → 4.7.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
2
  SHA256:
3
- metadata.gz: 3edf2add9fde8d7a1c2989e1270f37643cbb122193e3600b53b10a321a49e902
4
- data.tar.gz: 6d0d433f55915af261e636ea4cf640515ffa3fec5a09379949ea992407f18ce6
3
+ metadata.gz: 34179258d33036e78dd04f3b8f5afc47b365bd3daba81c8873c48f97054ad8bf
4
+ data.tar.gz: b8302cd7bca3144905fb54aaa06f8d1999e96c6efebcde45046830e45031e1c6
5
5
  SHA512:
6
- metadata.gz: e07eec26c77cdfe96295c17821db3afef88dadfd4bc31be80b9a4c473ffc0104f7c3fec0d2e7895b7cb79b84654e93029f2d18466d96eb21e745382babc0fc72
7
- data.tar.gz: 8b940bf6241ef7343f36855c312c3a3f1459ee6e754457ac01a7dfed56e01cb31c990b027a3d422ccc48c68d6cf9ace81102ec225a326825cbfe1d83ed902558
6
+ metadata.gz: 7572c629e6892753b88b05c32b3acbbdb9c2251a03373049139d523941c0c732b3a79116ba804f0b432e4bf0715b15b8558013251d714c1ab420271b6d6961d8
7
+ data.tar.gz: 5843078946e57b56b0717b25c403244e972b0d45c2b97276861506266c1e94e01c8443e0c022dd0a4f3f4c4daad60291525a7b818b925c08a2669153c6f89ce9
@@ -14,7 +14,7 @@ jobs:
14
14
  - name: Set up Ruby
15
15
  uses: ruby/setup-ruby@v1
16
16
  with:
17
- ruby-version: 2.7
17
+ ruby-version: '3.2'
18
18
  - name: Install dependencies
19
19
  run: bundle install
20
20
  - name: Run linter
data/Gemfile CHANGED
@@ -18,7 +18,6 @@ group :test do
18
18
  gem "rspec-rails", require: false
19
19
  gem "simplecov", require: false
20
20
  gem "standardrb", require: false
21
- gem "webdrivers", require: false
22
21
  gem "webmock", require: false
23
22
  end
24
23
 
@@ -1,85 +1,63 @@
1
1
  // basemaps
2
2
 
3
- GeoBlacklight.Basemaps = {
4
- darkMatter: L.tileLayer(
5
- 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{retina}.png', {
6
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
7
- maxZoom: 18,
8
- worldCopyJump: true,
9
- retina: '@2x',
10
- detectRetina: false
11
- }
12
- ),
13
- positron: L.tileLayer(
14
- 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{retina}.png', {
15
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
16
- maxZoom: 18,
17
- worldCopyJump: true,
18
- retina: '@2x',
19
- detectRetina: false
20
- }
21
- ),
22
- positronLite: L.tileLayer(
23
- 'https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{retina}.png', {
24
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
25
- maxZoom: 18,
26
- worldCopyJump: true,
27
- retina: '@2x',
28
- detectRetina: false
29
- }
30
- ),
31
- worldAntique: L.tileLayer(
32
- 'https://cartocdn_{s}.global.ssl.fastly.net/base-antique/{z}/{x}/{y}{retina}.png', {
33
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
34
- maxZoom: 18,
35
- worldCopyJump: true,
36
- retina: '@2x',
37
- detectRetina: false
38
- }
39
- ),
40
- worldEco: L.tileLayer(
41
- 'https://cartocdn_{s}.global.ssl.fastly.net/base-eco/{z}/{x}/{y}{retina}.png', {
42
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
43
- maxZoom: 18,
44
- worldCopyJump: true,
45
- retina: '@2x',
46
- detectRetina: false
47
- }
48
- ),
49
- flatBlue: L.tileLayer(
50
- 'https://cartocdn_{s}.global.ssl.fastly.net/base-flatblue/{z}/{x}/{y}{retina}.png', {
51
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
52
- maxZoom: 18,
53
- worldCopyJump: true,
54
- retina: '@2x',
55
- detectRetina: false
56
- }
57
- ),
58
- midnightCommander: L.tileLayer(
59
- 'https://cartocdn_{s}.global.ssl.fastly.net/base-midnight/{z}/{x}/{y}{retina}.png', {
60
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
61
- maxZoom: 18,
62
- worldCopyJump: true,
63
- retina: '@2x',
64
- detectRetina: false
65
- }
66
- ),
67
- openstreetmapHot: L.tileLayer(
68
- 'https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', {
69
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>',
70
- maxZoom: 19,
71
- worldCopyJump: true,
72
- retina: '@2x',
73
- detectRetina: false
74
- }
75
- ),
76
- openstreetmapStandard: L.tileLayer(
77
- 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
78
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
79
- maxZoom: 19,
80
- worldCopyJump: true,
81
- retina: '@2x',
82
- detectRetina: false
83
- }
84
- )
3
+ /**
4
+ * Raster XYZ tile definitions for the basemaps GeoBlacklight ships with. Each
5
+ * definition is passed to L.tileLayer as its options, so it carries the URL
6
+ * template alongside the layer options it needs.
7
+ *
8
+ * Applications can change any of these, or add their own, by setting
9
+ * LEAFLET.BASEMAPS in settings.yml. See selectBasemap in viewers/map.js.
10
+ */
11
+ GeoBlacklight.BasemapDefinitions = {
12
+ darkMatter: {
13
+ url: 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{retina}.png',
14
+ attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
15
+ maxZoom: 18,
16
+ worldCopyJump: true,
17
+ retina: '@2x',
18
+ detectRetina: false
19
+ },
20
+ positron: {
21
+ url: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{retina}.png',
22
+ attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
23
+ maxZoom: 18,
24
+ worldCopyJump: true,
25
+ retina: '@2x',
26
+ detectRetina: false
27
+ },
28
+ positronLite: {
29
+ url: 'https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}{retina}.png',
30
+ attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
31
+ maxZoom: 18,
32
+ worldCopyJump: true,
33
+ retina: '@2x',
34
+ detectRetina: false
35
+ },
36
+ openstreetmapHot: {
37
+ url: 'https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
38
+ attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>',
39
+ maxZoom: 19,
40
+ worldCopyJump: true,
41
+ retina: '@2x',
42
+ detectRetina: false
43
+ },
44
+ openstreetmapStandard: {
45
+ url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
46
+ attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
47
+ maxZoom: 19,
48
+ worldCopyJump: true,
49
+ retina: '@2x',
50
+ detectRetina: false
51
+ }
85
52
  };
53
+
54
+ /**
55
+ * Layer instances for the shipped definitions. Kept so that applications
56
+ * referencing or replacing GeoBlacklight.Basemaps entries keep working.
57
+ */
58
+ GeoBlacklight.Basemaps = {};
59
+
60
+ Object.keys(GeoBlacklight.BasemapDefinitions).forEach(function(name) {
61
+ var definition = GeoBlacklight.BasemapDefinitions[name];
62
+ GeoBlacklight.Basemaps[name] = L.tileLayer(definition.url, definition);
63
+ });
@@ -65,13 +65,30 @@ GeoBlacklight.Viewer.Map = GeoBlacklight.Viewer.extend({
65
65
 
66
66
  /**
67
67
  * Selects basemap if specified in data options, if not return positron.
68
+ *
69
+ * Applications can change a basemap's URL -- to add a CARTO API key, for
70
+ * example -- or define basemaps of their own by setting LEAFLET.BASEMAPS in
71
+ * settings.yml. Those values are merged over the shipped definition, so an
72
+ * override that gives only a url keeps the shipped attribution and zoom.
68
73
  */
69
74
  selectBasemap: function() {
70
- var _this = this;
71
- if (_this.data.basemap) {
72
- return GeoBlacklight.Basemaps[_this.data.basemap];
73
- } else {
74
- return GeoBlacklight.Basemaps.positron;
75
+ var name = this.data.basemap || 'positron';
76
+ var options = this.data.leafletOptions || {};
77
+ var overrides = options.BASEMAPS || {};
78
+ var definition;
79
+
80
+ // A configured basemap wins, so an application can override a shipped one
81
+ if (overrides[name]) {
82
+ definition = L.extend(
83
+ {}, GeoBlacklight.BasemapDefinitions[name], overrides[name]
84
+ );
85
+ if (definition.url) {
86
+ return L.tileLayer(definition.url, definition);
87
+ }
75
88
  }
89
+
90
+ // Otherwise use the shipped layer, which an application may itself have
91
+ // replaced in GeoBlacklight.Basemaps
92
+ return GeoBlacklight.Basemaps[name] || GeoBlacklight.Basemaps.positron;
76
93
  }
77
94
  });
@@ -2,6 +2,7 @@
2
2
 
3
3
  class RelationController < ApplicationController
4
4
  include Blacklight::Configurable
5
+
5
6
  # include Blacklight::SearchHelper
6
7
  copy_blacklight_config_from(CatalogController)
7
8
 
@@ -14,26 +14,6 @@ export const openLayersBasemaps = {
14
14
  attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
15
15
  maxZoom: 18
16
16
  },
17
- worldAntique: {
18
- url: 'https://cartocdn_{a-d}.global.ssl.fastly.net/base-antique/{z}/{x}/{y}.png',
19
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
20
- maxZoom: 18
21
- },
22
- worldEco: {
23
- url: 'https://cartocdn_{a-d}.global.ssl.fastly.net/base-eco/{z}/{x}/{y}.png',
24
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
25
- maxZoom: 18
26
- },
27
- flatBlue: {
28
- url: 'https://cartocdn_{a-d}.global.ssl.fastly.net/base-flatblue/{z}/{x}/{y}.png',
29
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
30
- maxZoom: 18
31
- },
32
- midnightCommander: {
33
- url: 'https://cartocdn_{a-d}.global.ssl.fastly.net/base-midnight/{z}/{x}/{y}.png',
34
- attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://carto.com/attributions">Carto</a>',
35
- maxZoom: 18
36
- },
37
17
  openstreetmapHot: {
38
18
  url: 'https://{a-c}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
39
19
  attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>',
@@ -33,17 +33,42 @@ export default class OlInitializer {
33
33
  }
34
34
 
35
35
  baseLayer () {
36
- const basemap = openLayersBasemaps[this.data.basemap]
36
+ const basemap = this.basemapDefinition()
37
37
  const layer = new TileLayer({
38
38
  source: new XYZ({
39
39
  attributions: basemap["attribution"],
40
- url: basemap["url"],
40
+ url: this.normalizeUrl(basemap["url"]),
41
41
  maxZoom: basemap["maxZoom"]
42
42
  })
43
43
  })
44
44
  return layer
45
45
  }
46
46
 
47
+ // The basemap to draw, with any BASEMAPS values from settings.yml merged
48
+ // over the shipped definition. This lets an application change a basemap's
49
+ // URL -- to add a CARTO API key, for example -- without restating the rest
50
+ // of the definition, and lets it define basemaps of its own.
51
+ basemapDefinition () {
52
+ const name = this.data.basemap || 'positron'
53
+ const definition = {
54
+ ...openLayersBasemaps[name],
55
+ ...this.basemapOverrides()[name]
56
+ }
57
+ if (definition.url) return definition
58
+ return openLayersBasemaps.positron
59
+ }
60
+
61
+ basemapOverrides () {
62
+ return JSON.parse(this.data.leafletOptions || '{}').BASEMAPS || {}
63
+ }
64
+
65
+ // Leaflet and OpenLayers spell tile URL templates differently, so accept
66
+ // the Leaflet form a configured basemap is most likely to be written in:
67
+ // {s} becomes OpenLayers' subdomain range, and {retina} drops out.
68
+ normalizeUrl (url) {
69
+ return url.replace(/\{s\}/g, '{a-d}').replace(/\{retina\}/g, '')
70
+ }
71
+
47
72
  initializePmtiles () {
48
73
  const vectorLayer = new VectorTile({
49
74
  declutter: true,
@@ -10,6 +10,7 @@ module Geoblacklight
10
10
  # longer exists.
11
11
  class DocumentPresenter < Blacklight::IndexPresenter
12
12
  include ActionView::Helpers::OutputSafetyHelper
13
+
13
14
  ##
14
15
  # Presents configured index fields in search results. Passes values through
15
16
  # configured helper_method. Multivalued fields separated by presenter
@@ -35,11 +35,11 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "rspec-rails"
36
36
  spec.add_development_dependency "engine_cart", "~> 2.0"
37
37
  spec.add_development_dependency "capybara", ">= 2.5.0"
38
- spec.add_development_dependency "selenium-webdriver"
38
+ spec.add_development_dependency "selenium-webdriver", ">= 4.11"
39
39
  spec.add_development_dependency "factory_bot_rails"
40
40
  spec.add_development_dependency "database_cleaner", "~> 2.0"
41
41
  spec.add_development_dependency "simplecov", "~> 0.22"
42
42
  spec.add_development_dependency "foreman"
43
- spec.add_development_dependency "standardrb", "1.0.1"
43
+ spec.add_development_dependency "standard", "~> 1.56.0"
44
44
  spec.add_development_dependency "webmock", "~> 3.14"
45
45
  end
@@ -124,7 +124,7 @@ module Geoblacklight
124
124
  if propshaft_present
125
125
  gsub_file "Gemfile", /^(\s*gem\s+["']propshaft["'].*)$/, '# \1'
126
126
  end
127
- unless gemfile.match?(/gem ['\"]sprockets-rails['\"]/)
127
+ unless gemfile.match?(/gem ['"]sprockets-rails['"]/)
128
128
  append_to_file "Gemfile" do
129
129
  "\ngem 'sprockets-rails'\n"
130
130
  end
@@ -317,12 +317,11 @@ class CatalogController < ApplicationController
317
317
  # 'positron'
318
318
  # 'darkMatter'
319
319
  # 'positronLite'
320
- # 'worldAntique'
321
- # 'worldEco'
322
- # 'flatBlue'
323
- # 'midnightCommander'
324
320
  # 'openstreetmapHot'
325
321
  # 'openstreetmapStandard'
322
+ #
323
+ # To change one of these basemaps' tile URLs, or to add a basemap of your
324
+ # own and name it here, set LEAFLET.BASEMAPS in settings.yml
326
325
 
327
326
  config.basemap_provider = "positron"
328
327
 
@@ -229,6 +229,25 @@ WMS_PARAMS:
229
229
  # Settings for leaflet
230
230
  LEAFLET:
231
231
  MAP:
232
+ # Basemap definitions, keyed by the name config.basemap_provider selects.
233
+ # Anything set here is merged over the basemap GeoBlacklight ships with, so
234
+ # you can change just the url and keep the rest of the definition.
235
+ #
236
+ # CARTO now watermarks raster tiles requested without an API key, which
237
+ # affects the positron, positronLite and darkMatter basemaps. Request a free
238
+ # key at https://carto.com/basemaps/apikey/ and pass it as a key parameter:
239
+ # BASEMAPS:
240
+ # positron:
241
+ # url: 'https://basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png?key=YOUR_KEY'
242
+ # darkMatter:
243
+ # url: 'https://basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png?key=YOUR_KEY'
244
+ #
245
+ # You can also define a basemap of your own here and select it with
246
+ # config.basemap_provider = 'myBasemap' in your CatalogController:
247
+ # myBasemap:
248
+ # url: 'https://tiles.example.edu/{z}/{x}/{y}.png'
249
+ # attribution: 'Tiles courtesy of Example University'
250
+ # maxZoom: 18
232
251
  LAYERS:
233
252
  DETECT_RETINA: true
234
253
  INDEX:
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Geoblacklight
4
- VERSION = "4.6.0"
4
+ VERSION = "4.7.0"
5
5
  end
data/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@geoblacklight/frontend",
3
3
  "type": "module",
4
- "version": "4.6.0",
4
+ "version": "4.7.0",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -34,4 +34,60 @@ feature "Configurable basemap", js: true do
34
34
  expect(page).to have_css "img[src*='hot']"
35
35
  end
36
36
  end
37
+ feature "with a configured tile URL for a shipped basemap" do
38
+ before do
39
+ CatalogController.blacklight_config.basemap_provider = "positron"
40
+ Settings.LEAFLET.BASEMAPS = {
41
+ positron: {
42
+ url: "https://basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png?key=fake-carto-key"
43
+ }
44
+ }
45
+ end
46
+ after { Settings.LEAFLET.BASEMAPS = nil }
47
+
48
+ scenario "requests tiles from the configured URL" do
49
+ visit root_path
50
+ expect(page).to have_css "img[src*='key=fake-carto-key']"
51
+ end
52
+ scenario "keeps the attribution from the shipped definition" do
53
+ visit root_path
54
+ expect(page).to have_css ".leaflet-control-attribution", text: "Carto"
55
+ end
56
+ end
57
+ feature "with a basemap the application defines itself" do
58
+ before do
59
+ CatalogController.blacklight_config.basemap_provider = "myBasemap"
60
+ Settings.LEAFLET.BASEMAPS = {
61
+ myBasemap: {
62
+ url: "/tiles/{z}/{x}/{y}.png",
63
+ attribution: "Tiles courtesy of Example University",
64
+ maxZoom: 18
65
+ }
66
+ }
67
+ end
68
+ after { Settings.LEAFLET.BASEMAPS = nil }
69
+
70
+ scenario "requests tiles from the application's basemap" do
71
+ visit root_path
72
+ # visible: :all because these tiles 404, so the images have no dimensions
73
+ expect(page).to have_css "img[src*='/tiles/']", visible: :all
74
+ end
75
+ scenario "credits the application's basemap" do
76
+ visit root_path
77
+ expect(page).to have_css ".leaflet-control-attribution",
78
+ text: "Tiles courtesy of Example University"
79
+ end
80
+ end
81
+ feature "using a basemap GeoBlacklight no longer ships" do
82
+ before do
83
+ # worldEco was one of the CARTO basemaps served from the retired
84
+ # cartocdn fastly endpoints; applications still naming one should get a
85
+ # working basemap rather than none
86
+ CatalogController.blacklight_config.basemap_provider = "worldEco"
87
+ end
88
+ scenario "falls back to positron rather than drawing no basemap" do
89
+ visit root_path
90
+ expect(page).to have_css "img[src*='light_all']", visible: :all
91
+ end
92
+ end
37
93
  end
@@ -4,6 +4,7 @@ require "spec_helper"
4
4
 
5
5
  class GeoblacklightControllerTestClass
6
6
  include AbstractController::Translation
7
+
7
8
  attr_accessor :params
8
9
  end
9
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoblacklight
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.0
4
+ version: 4.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Graves
@@ -10,7 +10,7 @@ authors:
10
10
  - Jack Reed
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-09-01 00:00:00.000000000 Z
13
+ date: 2026-09-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -268,14 +268,14 @@ dependencies:
268
268
  requirements:
269
269
  - - ">="
270
270
  - !ruby/object:Gem::Version
271
- version: '0'
271
+ version: '4.11'
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
276
  - - ">="
277
277
  - !ruby/object:Gem::Version
278
- version: '0'
278
+ version: '4.11'
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: factory_bot_rails
281
281
  requirement: !ruby/object:Gem::Requirement
@@ -333,19 +333,19 @@ dependencies:
333
333
  - !ruby/object:Gem::Version
334
334
  version: '0'
335
335
  - !ruby/object:Gem::Dependency
336
- name: standardrb
336
+ name: standard
337
337
  requirement: !ruby/object:Gem::Requirement
338
338
  requirements:
339
- - - '='
339
+ - - "~>"
340
340
  - !ruby/object:Gem::Version
341
- version: 1.0.1
341
+ version: 1.56.0
342
342
  type: :development
343
343
  prerelease: false
344
344
  version_requirements: !ruby/object:Gem::Requirement
345
345
  requirements:
346
- - - '='
346
+ - - "~>"
347
347
  - !ruby/object:Gem::Version
348
- version: 1.0.1
348
+ version: 1.56.0
349
349
  - !ruby/object:Gem::Dependency
350
350
  name: webmock
351
351
  requirement: !ruby/object:Gem::Requirement