From 914b6028d4c10d989192a724602140b88eeaccab Mon Sep 17 00:00:00 2001 From: Juan Ignacio Donoso Date: Wed, 9 Apr 2025 17:14:38 -0400 Subject: [PATCH 1/2] chore(github): run specs on ruby versions >= 3 --- .github/workflows/test_n_release.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_n_release.yml b/.github/workflows/test_n_release.yml index ba9b044..b52814d 100644 --- a/.github/workflows/test_n_release.yml +++ b/.github/workflows/test_n_release.yml @@ -16,6 +16,13 @@ concurrency: jobs: test: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] + include: + - ruby: '2.7' + rubygems: '3.3.22' services: ganache: image: trufflesuite/ganache-cli:v6.12.2 @@ -36,8 +43,8 @@ jobs: - uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' - rubygems: '3.3.22' + ruby-version: ${{ matrix.ruby }} + rubygems: ${{ matrix.rubygems || '' }} bundler-cache: true - name: Run tests From 582acdbad57dfb23f188302c65ba0f2bcdfee116 Mon Sep 17 00:00:00 2001 From: Juan Ignacio Donoso Date: Wed, 9 Apr 2025 18:12:08 -0400 Subject: [PATCH 2/2] feat(ruby): add support for ruby > 3 --- etherlite.gemspec | 4 ++-- lib/etherlite/account/local.rb | 2 +- lib/etherlite/account/private_key.rb | 2 +- lib/etherlite/nonce_manager.rb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/etherlite.gemspec b/etherlite.gemspec index b150c55..d37ab7f 100644 --- a/etherlite.gemspec +++ b/etherlite.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'guard', '~> 2.14' spec.add_development_dependency 'guard-rspec', '~> 4.7' spec.add_development_dependency 'pry' - spec.add_development_dependency 'rake', '~> 10.0' + spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec', '~> 3.0' - spec.add_development_dependency 'webmock', '~> 3.7.5' + spec.add_development_dependency 'webmock', '~> 3.7' end diff --git a/lib/etherlite/account/local.rb b/lib/etherlite/account/local.rb index acddcbe..b00faed 100644 --- a/lib/etherlite/account/local.rb +++ b/lib/etherlite/account/local.rb @@ -30,7 +30,7 @@ def build_params_from_options(_opt) def send_transaction_with_passphrase(_params, _passphrase) if _passphrase.nil? - @connection.eth_send_transaction _params + @connection.eth_send_transaction **_params else @connection.personal_send_transaction _params, _passphrase end diff --git a/lib/etherlite/account/private_key.rb b/lib/etherlite/account/private_key.rb index d389c77..b9963c7 100644 --- a/lib/etherlite/account/private_key.rb +++ b/lib/etherlite/account/private_key.rb @@ -9,7 +9,7 @@ def initialize(_connection, _pk) end def build_raw_transaction(_options = {}) - nonce = nonce_manager.next_nonce_for(normalized_address, _options.slice(:replace, :nonce)) + nonce = nonce_manager.next_nonce_for(normalized_address, **_options.slice(:replace, :nonce)) tx = Eth::Tx.new( chain_id: @connection.chain_id, diff --git a/lib/etherlite/nonce_manager.rb b/lib/etherlite/nonce_manager.rb index 88f023b..b6deef6 100644 --- a/lib/etherlite/nonce_manager.rb +++ b/lib/etherlite/nonce_manager.rb @@ -28,7 +28,7 @@ def next_nonce_for(_normalized_address, replace: false, nonce: nil) def with_next_nonce_for(_normalized_address, _options = {}) @@nonce_mutex.synchronize do - nonce = next_nonce_for(_normalized_address, _options) + nonce = next_nonce_for(_normalized_address, **_options) begin result = yield nonce