Hanami: Ruby 2.7 deprecation last keyword

Created on 22 Aug 2020  路  3Comments  路  Source: hanami/hanami

Following the instructions at the bottom of http://hanamirb.org/ leads to 16 warnings on ruby 2.7.1 (see below). I noticed https://github.com/hanami/hanami/pull/1050 but it seems this may have only been applied to master and not released. Is the following expected or am I doing something wrong?

hanami new bookshelf --database=postgresql
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/definition.rb:34: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/options.rb:8: warning: The called method `initialize' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/decorator.rb:13: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/options.rb:8: warning: The called method `initialize' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/sum.rb:43: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/dry-types-0.11.1/lib/dry/types/options.rb:8: warning: The called method `initialize' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-cli-0.3.1/lib/hanami/cli.rb:57: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:74: warning: The called method `call' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:85: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/new.rb:284: warning: The called method `call' is defined here
      create  .hanamirc
      create  .env.development
      create  .env.test
      create  README.md
      create  Gemfile
      create  config.ru
      create  config/boot.rb
      create  config/environment.rb
      create  lib/bookshelf.rb
      create  public/.gitkeep
      create  config/initializers/.gitkeep
      create  lib/bookshelf/entities/.gitkeep
      create  lib/bookshelf/repositories/.gitkeep
      create  lib/bookshelf/mailers/.gitkeep
      create  lib/bookshelf/mailers/templates/.gitkeep
      create  spec/bookshelf/entities/.gitkeep
      create  spec/bookshelf/repositories/.gitkeep
      create  spec/bookshelf/mailers/.gitkeep
      create  spec/support/.gitkeep
      create  db/migrations/.gitkeep
      create  Rakefile
      create  .rspec
      create  spec/spec_helper.rb
      create  spec/features_helper.rb
      create  spec/support/capybara.rb
      create  db/schema.sql
      create  .gitignore
         run  git init . from "."
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/new.rb:569: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:95: warning: The called method `initialize' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:85: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:74: warning: The called method `call' is defined here
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/command.rb:85: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/home/gerry/.asdf/installs/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/hanami-1.3.3/lib/hanami/cli/commands/generate/app.rb:25: warning: The called method `call' is defined here
      create  apps/web/application.rb
      create  apps/web/config/routes.rb
      create  apps/web/views/application_layout.rb
      create  apps/web/templates/application.html.erb
      create  apps/web/assets/favicon.ico
      create  apps/web/controllers/.gitkeep
      create  apps/web/assets/images/.gitkeep
      create  apps/web/assets/javascripts/.gitkeep
      create  apps/web/assets/stylesheets/.gitkeep
      create  spec/web/features/.gitkeep
      create  spec/web/controllers/.gitkeep
      create  spec/web/views/application_layout_spec.rb
      insert  config/environment.rb
      insert  config/environment.rb
      append  .env.development
      append  .env.test
discussion wontfix

Most helpful comment

I am thinking about the same as @kj. @jodosha any chance of having release before 2.0? I don't see any release date for this. Definitely not a critical, but it's a first thing you see with working with hanami - deprecation warnings suggesting code might be stale. If no other volunteer is willing to do this I'll be happy to help, but it's worth to know if there's a chance of having this applied before.

All 3 comments

The last Hanami release was 1.3.3 in 2019. Would it be possible to make another point release before 2.0 to fix these warnings?

I am thinking about the same as @kj. @jodosha any chance of having release before 2.0? I don't see any release date for this. Definitely not a critical, but it's a first thing you see with working with hanami - deprecation warnings suggesting code might be stale. If no other volunteer is willing to do this I'll be happy to help, but it's worth to know if there's a chance of having this applied before.

Agree these are super annoying and aren't a good first experience for Hanami. Fortunately, Ruby 2.7.2 turned off these deprecation warnings by default, so users using 2.7.2+ won't see these deprecation notices anymore.

I verified this personally running hanami new bookshelf --database=postgresql on 2.7.3.

Sorry this happened but glad it's resolved itself (though it did take a while).

Was this page helpful?
0 / 5 - 0 ratings

Related issues

andrew picture andrew  路  5Comments

AlfonsoUceda picture AlfonsoUceda  路  5Comments

mariusz-kowalski picture mariusz-kowalski  路  7Comments

mdesantis picture mdesantis  路  8Comments

mkarganov picture mkarganov  路  3Comments