diff --git a/Gemfile.lock b/Gemfile.lock index 2a0be3b..ca64351 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,54 +1,56 @@ PATH remote: . specs: - grumlin (1.0.4) - async-pool (~> 0.3.0) - async-websocket (~> 0.22.0) + grumlin (1.1.0) + async-pool (~> 0.4.0) + async-websocket (~> 0.25.0) ibsciss-middleware (~> 0.4.0) - oj (~> 3.13.0) + oj (~> 3.15.0) retryable (~> 3.0.0) zeitwerk (~> 2.6.0) GEM remote: https://rubygems.org/ specs: - activesupport (7.0.4) + activesupport (7.0.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) ast (2.4.2) - async (1.30.3) + async (1.31.0) console (~> 1.10) nio4r (~> 2.3) timers (~> 4.1) - async-http (0.59.3) + async-http (0.60.2) async (>= 1.25) async-io (>= 1.28) async-pool (>= 0.2) - protocol-http (~> 0.23.1) - protocol-http1 (~> 0.14.0) - protocol-http2 (~> 0.14.0) - traces (>= 0.8.0) - async-io (1.34.0) + protocol-http (~> 0.24.0) + protocol-http1 (~> 0.15.0) + protocol-http2 (~> 0.15.0) + traces (>= 0.10.0) + async-io (1.35.0) async - async-pool (0.3.12) + async-pool (0.4.0) async (>= 1.25) - async-rspec (1.16.1) + async-rspec (1.17.0) rspec (~> 3.0) rspec-files (~> 1.0) rspec-memory (~> 1.0) - async-websocket (0.22.1) + async-websocket (0.25.1) async-http (~> 0.54) async-io (~> 1.23) protocol-rack (~> 0.1) - protocol-websocket (~> 0.9.1) + protocol-websocket (~> 0.11) backport (1.2.0) - benchmark (0.2.0) - benchmark-ips (2.10.0) + base64 (0.1.1) + benchmark (0.2.1) + benchmark-ips (2.12.0) childprocess (4.1.0) - concurrent-ruby (1.1.10) - console (1.16.2) + concurrent-ruby (1.2.2) + console (1.23.2) + fiber-annotation fiber-local dead_end (4.0.0) diff-lcs (1.5.0) @@ -56,122 +58,135 @@ GEM e2mmap (0.1.0) factory_bot (6.2.1) activesupport (>= 5.0.0) + fiber-annotation (0.2.0) fiber-local (1.0.0) - i18n (1.12.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) ibsciss-middleware (0.4.2) iniparse (1.5.0) - jaro_winkler (1.5.4) - json (2.6.2) + jaro_winkler (1.5.6) + json (2.6.3) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) + language_server-protocol (3.17.0.3) memory_profiler (1.0.1) - mini_portile2 (2.8.0) - minitest (5.16.3) - nio4r (2.5.8) - nokogiri (1.13.9) - mini_portile2 (~> 2.8.0) + mini_portile2 (2.8.4) + minitest (5.19.0) + nio4r (2.5.9) + nokogiri (1.15.4) + mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.13.23) - overcommit (0.59.1) + nokogiri (1.15.4-x86_64-linux) + racc (~> 1.4) + oj (3.15.1) + overcommit (0.60.0) childprocess (>= 0.6.3, < 5) iniparse (~> 1.4) rexml (~> 3.2) - parallel (1.22.1) - parser (3.1.2.1) + parallel (1.23.0) + parser (3.2.2.3) ast (~> 2.4.1) + racc protocol-hpack (1.4.2) - protocol-http (0.23.12) - protocol-http1 (0.14.6) + protocol-http (0.24.7) + protocol-http1 (0.15.1) protocol-http (~> 0.22) - protocol-http2 (0.14.2) + protocol-http2 (0.15.1) protocol-hpack (~> 1.4) protocol-http (~> 0.18) - protocol-rack (0.2.4) + protocol-rack (0.2.6) protocol-http (~> 0.23) rack (>= 1.0) - protocol-websocket (0.9.1) + protocol-websocket (0.12.0) protocol-http (~> 0.2) protocol-http1 (~> 0.2) - racc (1.6.0) - rack (3.0.1) + racc (1.7.1) + rack (3.0.8) rainbow (3.1.1) rake (13.0.6) - regexp_parser (2.6.0) + rbs (2.8.4) + regexp_parser (2.8.1) retryable (3.0.5) reverse_markdown (2.1.1) nokogiri - rexml (3.2.5) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) rspec-mocks (~> 3.12.0) - rspec-core (3.12.0) + rspec-core (3.12.2) rspec-support (~> 3.12.0) - rspec-expectations (3.12.0) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) rspec-files (1.1.3) rspec (~> 3.0) - rspec-memory (1.0.3) + rspec-memory (1.0.4) rspec (~> 3.0) - rspec-mocks (3.12.0) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-support (3.12.0) - rubocop (1.38.0) + rspec-support (3.12.1) + rubocop (1.56.0) + base64 (~> 0.1.1) json (~> 2.3) + language_server-protocol (>= 3.17.0) parallel (~> 1.10) - parser (>= 3.1.2.1) + parser (>= 3.2.2.3) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.23.0, < 2.0) + rubocop-ast (>= 1.28.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.23.0) - parser (>= 3.1.1.0) - rubocop-performance (1.15.0) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.29.0) + parser (>= 3.2.1.0) + rubocop-capybara (2.18.0) + rubocop (~> 1.41) + rubocop-factory_bot (2.23.1) + rubocop (~> 1.33) + rubocop-performance (1.19.0) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) - rubocop-rspec (2.15.0) + rubocop-rspec (2.23.2) rubocop (~> 1.33) - ruby-prof (1.4.3) - ruby-progressbar (1.11.0) - simplecov (0.21.2) + rubocop-capybara (~> 2.17) + rubocop-factory_bot (~> 2.22) + ruby-prof (1.6.3) + ruby-progressbar (1.13.0) + simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - solargraph (0.47.2) + solargraph (0.49.0) backport (~> 1.2) benchmark - bundler (>= 1.17.2) + bundler (~> 2.0) diff-lcs (~> 1.4) e2mmap jaro_winkler (~> 1.5) kramdown (~> 2.3) kramdown-parser-gfm (~> 1.1) parser (~> 3.0) - reverse_markdown (>= 1.0.5, < 3) - rubocop (>= 0.52) + rbs (~> 2.0) + reverse_markdown (~> 2.0) + rubocop (~> 1.38) thor (~> 1.0) tilt (~> 2.0) yard (~> 0.9, >= 0.9.24) - thor (1.2.1) - tilt (2.0.11) + thor (1.2.2) + tilt (2.2.0) timers (4.3.5) - traces (0.8.0) - tzinfo (2.0.5) + traces (0.11.1) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.3.0) - webrick (1.7.0) - yard (0.9.28) - webrick (~> 1.7.0) - zeitwerk (2.6.6) + unicode-display_width (2.4.2) + yard (0.9.34) + zeitwerk (2.6.11) PLATFORMS ruby @@ -197,4 +212,4 @@ DEPENDENCIES solargraph BUNDLED WITH - 2.2.26 + 2.2.33 diff --git a/Rakefile b/Rakefile index a3ed074..7a8e96b 100644 --- a/Rakefile +++ b/Rakefile @@ -15,7 +15,7 @@ namespace :definitions do desc "Format definitions.yml" task :format do path = File.join(__dir__, "lib", "definitions.yml") - definitions = YAML.safe_load(File.read(path)) + definitions = YAML.safe_load_file(path) definitions.each_value do |kind| kind.each do |name, list| diff --git a/grumlin.gemspec b/grumlin.gemspec index 0e6d9f4..992f0f5 100644 --- a/grumlin.gemspec +++ b/grumlin.gemspec @@ -28,10 +28,10 @@ Gem::Specification.new do |spec| end spec.require_paths = ["lib"] - spec.add_dependency "async-pool", "~> 0.3.0" - spec.add_dependency "async-websocket", "~> 0.22.0" + spec.add_dependency "async-pool", "~> 0.4.0" + spec.add_dependency "async-websocket", "~> 0.25.0" spec.add_dependency "ibsciss-middleware", "~> 0.4.0" - spec.add_dependency "oj", "~> 3.13.0" + spec.add_dependency "oj", "~> 3.15.0" spec.add_dependency "retryable", "~> 3.0.0" spec.add_dependency "zeitwerk", "~> 2.6.0" end diff --git a/lib/grumlin.rb b/lib/grumlin.rb index 8a49c52..fb3143e 100644 --- a/lib/grumlin.rb +++ b/lib/grumlin.rb @@ -181,7 +181,7 @@ def close end def definitions - @definitions ||= YAML.safe_load(File.read(File.join(__dir__, "definitions.yml")), symbolize_names: true) + @definitions ||= YAML.safe_load_file(File.join(__dir__, "definitions.yml"), symbolize_names: true) end def fake_uuid(*parts, separator: "->") diff --git a/lib/grumlin/middlewares/builder.rb b/lib/grumlin/middlewares/builder.rb index 5679eec..5384823 100644 --- a/lib/grumlin/middlewares/builder.rb +++ b/lib/grumlin/middlewares/builder.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Grumlin::Middlewares::Builder < ::Middleware::Builder +class Grumlin::Middlewares::Builder < Middleware::Builder def similar?(other) stack == other.stack end diff --git a/lib/grumlin/repository.rb b/lib/grumlin/repository.rb index 6851139..94bda5a 100644 --- a/lib/grumlin/repository.rb +++ b/lib/grumlin/repository.rb @@ -81,7 +81,7 @@ def default_vertex_properties(&block) def default_edge_properties(&block) shortcut :addE, override: true do |*args| - super(*args).props(**block.call(*args)) # rubocop:disable Performance/RedundantBlockCall + super(*args).props(**block.call(*args)) # rubocop:disable Performance/RedundantBlockCall end end diff --git a/lib/grumlin/repository/instance_methods.rb b/lib/grumlin/repository/instance_methods.rb index 61fd331..2f49c3f 100644 --- a/lib/grumlin/repository/instance_methods.rb +++ b/lib/grumlin/repository/instance_methods.rb @@ -132,7 +132,7 @@ def with_upsert_error_handling(on_failure, params, &block) end def with_upsert_retry(retry_params, &block) - retry_params = UPSERT_RETRY_PARAMS.merge((retry_params)) + retry_params = UPSERT_RETRY_PARAMS.merge(retry_params) Retryable.retryable(**retry_params, &block) end diff --git a/lib/grumlin/request_error_factory.rb b/lib/grumlin/request_error_factory.rb index c275005..b9cb448 100644 --- a/lib/grumlin/request_error_factory.rb +++ b/lib/grumlin/request_error_factory.rb @@ -54,7 +54,8 @@ def build(request, response) def already_exists_error(status) return Grumlin::VertexAlreadyExistsError if status[:message]&.include?(VERTEX_ALREADY_EXISTS) - return Grumlin::EdgeAlreadyExistsError if status[:message]&.include?(EDGE_ALREADY_EXISTS) + + Grumlin::EdgeAlreadyExistsError if status[:message]&.include?(EDGE_ALREADY_EXISTS) end def concurrent_modification_error(status) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity @@ -66,7 +67,8 @@ def concurrent_modification_error(status) # rubocop:disable Metrics/CyclomaticCo if status[:message]&.include?(CONCURRENT_EDGE_PROPERTY_INSERT_FAILED) return Grumlin::ConcurrentEdgePropertyInsertFailedError end - return Grumlin::ConcurrentModificationError if status[:message]&.include?(CONCURRENCT_MODIFICATION_FAILED) + + Grumlin::ConcurrentModificationError if status[:message]&.include?(CONCURRENCT_MODIFICATION_FAILED) end end end diff --git a/lib/grumlin/version.rb b/lib/grumlin/version.rb index 88406c9..4bd89cd 100644 --- a/lib/grumlin/version.rb +++ b/lib/grumlin/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Grumlin - VERSION = "1.0.4" + VERSION = "1.1.0" end diff --git a/spec/grumlin/repository_spec.rb b/spec/grumlin/repository_spec.rb index 4dd1c6a..cb5d80d 100644 --- a/spec/grumlin/repository_spec.rb +++ b/spec/grumlin/repository_spec.rb @@ -255,7 +255,7 @@ it "returns profiling data" do result = repository.test_query(:white, query_params: { profile: true }) - expect(result.keys).to match_array([:dur, :metrics]) # Profiling data + expect(result.keys).to contain_exactly(:dur, :metrics) # Profiling data end end