From f148155a4c32c604608b4fc7475bec8f6fd5ba23 Mon Sep 17 00:00:00 2001 From: Mark Siemers Date: Sun, 9 Jan 2022 11:44:39 -0500 Subject: [PATCH] [#123] Update to Psych 4.0.x Psych.safe_load changed it's method signature and requires keyword args for 'permitted_classes' Update the calls to Psych.safe_load and add it as an explicit gem dependency with a pessimistic lock on the version. --- crystalball.gemspec | 3 ++- lib/crystalball/map_storage/yaml_storage.rb | 2 +- lib/crystalball/rspec/runner.rb | 2 +- spec/rspec/runner_spec.rb | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crystalball.gemspec b/crystalball.gemspec index 5069d505..48e10502 100644 --- a/crystalball.gemspec +++ b/crystalball.gemspec @@ -41,11 +41,12 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'parser' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' + spec.add_development_dependency 'psych', '~> 4.0.0' spec.add_development_dependency "rake", "~> 10.0" spec.add_development_dependency "rspec", "~> 3.0" spec.add_development_dependency 'rubocop', ">= 0.56" spec.add_development_dependency 'rubocop-rspec' spec.add_development_dependency 'simplecov' - spec.add_development_dependency 'sqlite3', "~> 1.3.13" + spec.add_development_dependency 'sqlite3', "~> 1.4.2" spec.add_development_dependency 'yard' end diff --git a/lib/crystalball/map_storage/yaml_storage.rb b/lib/crystalball/map_storage/yaml_storage.rb index 473cc09d..93a24822 100644 --- a/lib/crystalball/map_storage/yaml_storage.rb +++ b/lib/crystalball/map_storage/yaml_storage.rb @@ -33,7 +33,7 @@ def read_files(path) paths.map do |file| metadata, *example_groups = file.read.split("---\n").reject(&:empty?).map do |yaml| - YAML.safe_load(yaml, [Symbol]) + YAML.safe_load(yaml, permitted_classes: [Symbol]) end example_groups = example_groups.inject(&:merge!) diff --git a/lib/crystalball/rspec/runner.rb b/lib/crystalball/rspec/runner.rb index e124f735..920fb74a 100644 --- a/lib/crystalball/rspec/runner.rb +++ b/lib/crystalball/rspec/runner.rb @@ -41,7 +41,7 @@ def config @config ||= begin config_src = if config_file require 'yaml' - YAML.safe_load(config_file.read) + YAML.safe_load(config_file.read, permitted_classes: [Symbol]) else {} end diff --git a/spec/rspec/runner_spec.rb b/spec/rspec/runner_spec.rb index d5c1c17a..d47670f4 100644 --- a/spec/rspec/runner_spec.rb +++ b/spec/rspec/runner_spec.rb @@ -24,7 +24,7 @@ end context 'with CRYSTALBALL_CONFIG env variable set' do - let(:expected_config) { YAML.safe_load(Pathname('spec/fixtures/crystalball.yml').read) } + let(:expected_config) { YAML.safe_load(Pathname('spec/fixtures/crystalball.yml').read, permitted_classes: [Symbol]) } around do |example| ENV['CRYSTALBALL_CONFIG'] = 'spec/fixtures/crystalball.yml'