hanami 1.3.3 → 1.3.5

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: 9ec1be46fff34a0e6278e8c08a20742d87622bb24ef82b5320c7f71c9900bc6d
4
- data.tar.gz: b88a1a45b04427a79a7c7d828353bca49df12de456815d35ff84c18ff09dcda0
3
+ metadata.gz: 92d8362c387abfc24cda9234c81c671d544f03a2ae2680c9f71d492c7172410a
4
+ data.tar.gz: 57643cd0ca74fd851e800edbe62c18464dc5ca0dcd09c66189ed53b256beb5f0
5
5
  SHA512:
6
- metadata.gz: 97ff7cbc39b2dca8623431ff84024f854d504618742035242f3ee6ca84af419ba6126812e2e7316f4cb1025f1b5be1b0f383ea7c9acc4947a726c4012e301ec0
7
- data.tar.gz: 53c4e2fe586a644adc84a32fa8f19ea41553796e0aeb33d40e0d60185a99bb225a6809b618693e0663569acd7bd040c402928629d8a54cdc63ee9e0a55bc5df2
6
+ metadata.gz: 6570e1184cc95fe719bbb366f59f082ccafdc55dddae70496c98579cd53f4d46a31bd740030b500e5d2b7ed03e2df8f42148344170c1a90453209b2575960441
7
+ data.tar.gz: f2409cb5bc4d8bf3c7fe4bfa026eb03a9315fb6ccb80e95aa2b44e9b94600427cab0814a00d32035128a3ace49b42ed35644e1d0652ffc584be2ac5ea6564db5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,20 @@
1
1
  # Hanami
2
2
  The web, with simplicity.
3
3
 
4
+ ## v1.3.5 - 2021-10-18
5
+ ### Fixed
6
+ - [Ivan Kabluchkov] Ensure to properly store exceptions in Rack environment
7
+ - [Sean Collins] Explicitly limit in gemspec the supported rubies (>= 2.3 and < 3) for Hanami 1
8
+
9
+ ### Changed
10
+ - [Luca Guidi] Use JSON as default HTTP session serializer for cookie session storage
11
+
12
+ ## v1.3.4 - 2021-05-02
13
+ ### Fixed
14
+ - [Slava Kardakov] Fix generated `config.ru` `require_relative` statement
15
+ - [Armin] Fix `Hanami::CommonLogger` elapsed time compatibility with `rack` 2.1.0+
16
+ - [Adam Daniels] Fix generated tests compatibility with `minitest` 6.0+
17
+
4
18
  ## v1.3.3 - 2019-09-20
5
19
  ### Added
6
20
  - [Gray Manley] Standardize file loading for `.env` files (see: https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use)
@@ -24,7 +38,7 @@ The web, with simplicity.
24
38
  ### Fixed
25
39
  - [Aidan Coyle] Remove from app generator support for deprecated `force_ssl` setting
26
40
  - [Alessandro Caporrini] Remove from app generator support for deprecated `body_parsers` setting
27
- - [Daphne Rouw & Sean Collins] Make app generator to work when code in `config/enviroment.rb` uses double quotes
41
+ - [Daphne Rouw & Sean Collins] Make app generator to work when code in `config/environment.rb` uses double quotes
28
42
 
29
43
  ## v1.3.0 - 2018-10-24
30
44
  ### Added
@@ -41,7 +55,7 @@ The web, with simplicity.
41
55
 
42
56
  ### Fixed
43
57
  - [Anton Davydov] Make possible to pass extra settings for custom logger instances (eg. `logger SemanticLogger.new, :foo, :bar`)
44
- - [graywolf] Ensure `hanami generate app` to work without `require_relative` entries in `config/enviroment.rb`
58
+ - [graywolf] Ensure `hanami generate app` to work without `require_relative` entries in `config/environment.rb`
45
59
  - [Makoto Tajitsu & Luca Guidi] Fixed regression for `hanami new .` that used to generate a broken project
46
60
 
47
61
  ### Fixed
@@ -158,7 +172,7 @@ The web, with simplicity.
158
172
  - [Luca Guidi] Make compatible with Rack 2.0 only
159
173
  - [Luca Guidi] Removed `logger` settings from Hanami applications
160
174
  - [Luca Guidi] Removed logger for Hanami applications (eg `Web.logger`)
161
- - [Luca Guidi] Changed mailer syntax in `config/enviroment.rb`
175
+ - [Luca Guidi] Changed mailer syntax in `config/environment.rb`
162
176
 
163
177
  ## v0.9.2 - 2016-12-19
164
178
  ## Added
@@ -247,11 +261,11 @@ The web, with simplicity.
247
261
 
248
262
  ## v0.7.2 - 2016-02-09
249
263
  ### Fixed
250
- - [Alfonso Uceda Pompa] Fixed routing issue when static assets server tried to hijiack paths that are matching directories in public directory
264
+ - [Alfonso Uceda Pompa] Fixed routing issue when static assets server tried to hijack paths that are matching directories in public directory
251
265
 
252
266
  ## v0.7.1 - 2016-02-05
253
267
  ### Fixed
254
- - [Anton Davydov] Fixed routing issue when static assets server tried to hijiack requests belonging to dynamic endpoints
268
+ - [Anton Davydov] Fixed routing issue when static assets server tried to hijack requests belonging to dynamic endpoints
255
269
  - [Anatolii Didukh] Ensure to fallback to default engine for `hanami console`
256
270
 
257
271
  ## v0.7.0 - 2016-01-22
@@ -386,7 +400,7 @@ The web, with simplicity.
386
400
  ## v0.3.0 - 2015-03-23
387
401
  ### Added
388
402
  - [Luca Guidi] Introduced action generator. Eg. `bundle exec lotus generate action web dashboard#index`
389
- - [Alfonso Uceda Pompa] Allow to specify default coookies options in application configuration. Eg. `cookies true, { domain: 'lotusrb.org' }`
403
+ - [Alfonso Uceda Pompa] Allow to specify default cookies options in application configuration. Eg. `cookies true, { domain: 'lotusrb.org' }`
390
404
  - [Tom Kadwill] Include `Lotus::Helpers` in views.
391
405
  - [Linus Pettersson] Allow to specify `--database` CLI option when generate a new project. Eg. `lotus new bookshelf --database=postgresql`
392
406
  - [Linus Pettersson] Initialize a Git repository when generating a new project
data/FEATURES.md CHANGED
@@ -3,6 +3,10 @@
3
3
 
4
4
  ## Features
5
5
 
6
+ ## v1.3.5 - 2021-10-18
7
+
8
+ ## v1.3.4 - 2021-05-02
9
+
6
10
  ## v1.3.3 - 2019-09-20
7
11
 
8
12
  - Standardize file loading for `.env` files (see: https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use)
@@ -26,7 +30,7 @@
26
30
  - Unobtrusive JavaScript (UJS) (via `hanami-ujs` gem)
27
31
  - Interactive console for development error page (via `hanami-webconsole` gem)
28
32
  - CLI: register callbacks for `hanami` commands (`Hanami::CLI.after("db migrate", MyCallback.new)` or `Hanami::CLI.after("db migrate") { ... }`)
29
- - Project level Rack middleware stack (`Hanami.configure { middleware.use MyRackMiddlewre }`)
33
+ - Project level Rack middleware stack (`Hanami.configure { middleware.use MyRackMiddleware }`)
30
34
  - Plugins can hook into project configuration (`Hanami.plugin { middleware.use AnotherRackMiddleware }`)
31
35
  - Custom repository commands
32
36
  - Coloured logging
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright © 2014-2019 Luca Guidi
1
+ Copyright © 2014-2021 Luca Guidi
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  The web, with simplicity.
4
4
 
5
+ ## Version
6
+
7
+ **This branch contains the code for `hanami` 1.3.x.**
8
+
5
9
  ## Frameworks
6
10
 
7
11
  Hanami is a **full-stack** Ruby web framework.
@@ -18,7 +22,6 @@ which provides the glue that ties all the parts together:
18
22
  * [**Hanami::Helpers**](https://github.com/hanami/helpers) - View helpers for Ruby applications
19
23
  * [**Hanami::Mailer**](https://github.com/hanami/mailer) - Mail for Ruby applications
20
24
  * [**Hanami::Assets**](https://github.com/hanami/assets) - Assets management for Ruby
21
- * [**Hanami::CLI**](https://github.com/hanami/cli) - Ruby command line interface
22
25
  * [**Hanami::Utils**](https://github.com/hanami/utils) - Ruby core extensions and class utilities
23
26
 
24
27
  These components are designed to be used independently or together in a Hanami application.
@@ -26,8 +29,8 @@ These components are designed to be used independently or together in a Hanami a
26
29
  ## Status
27
30
 
28
31
  [![Gem Version](https://badge.fury.io/rb/hanami.svg)](https://badge.fury.io/rb/hanami)
29
- [![TravisCI](https://travis-ci.org/hanami/hanami.svg?branch=master)](https://travis-ci.org/hanami/hanami)
30
- [![Test Coverage](https://codecov.io/gh/hanami/hanami/branch/master/graph/badge.svg)](https://codecov.io/gh/hanami/hanami)
32
+ [![CI](https://github.com/hanami/hanami/workflows/ci/badge.svg?branch=1.3.x)](https://github.com/hanami/hanami/actions?query=workflow%3Aci+branch%3A1.3.x)
33
+ [![Test Coverage](https://codecov.io/gh/hanami/hanami/branch/1.3.x/graph/badge.svg)](https://codecov.io/gh/hanami/hanami)
31
34
  [![Depfu](https://badges.depfu.com/badges/ba000e0f69e6ef1c44cd3038caaa1841/overview.svg)](https://depfu.com/github/hanami/hanami?project=Bundler)
32
35
  [![Inline Docs](http://inch-ci.org/github/hanami/hanami.svg)](http://inch-ci.org/github/hanami/hanami)
33
36
 
@@ -137,4 +140,4 @@ Released under MIT License.
137
140
 
138
141
  This project was formerly known as Lotus (`lotusrb`).
139
142
 
140
- Copyright © 2014-2019 Luca Guidi.
143
+ Copyright © 2014-2021 Luca Guidi.
data/bin/hanami CHANGED
@@ -3,4 +3,4 @@ require 'bundler'
3
3
  require 'hanami/cli/commands'
4
4
 
5
5
  ::Bundler.require(:plugins) if File.exist?(ENV["BUNDLE_GEMFILE"] || "Gemfile")
6
- Hanami::CLI.new(Hanami::CLI::Commands).call
6
+ Dry::CLI.new(Hanami::CLI::Commands).call
data/hanami.gemspec CHANGED
@@ -17,24 +17,24 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test)/})
19
19
  spec.require_paths = ['lib']
20
- spec.required_ruby_version = '>= 2.3.0'
20
+ spec.required_ruby_version = '>= 2.3.0', '< 3'
21
21
 
22
22
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
23
23
 
24
24
  spec.add_dependency 'hanami-utils', '~> 1.3'
25
25
  spec.add_dependency 'hanami-validations', '>= 1.3', '< 3'
26
26
  spec.add_dependency 'hanami-router', '~> 1.3'
27
- spec.add_dependency 'hanami-controller', '~> 1.3'
27
+ spec.add_dependency 'hanami-controller', '~> 1.3', '>= 1.3.3'
28
28
  spec.add_dependency 'hanami-view', '~> 1.3'
29
29
  spec.add_dependency 'hanami-helpers', '~> 1.3'
30
30
  spec.add_dependency 'hanami-mailer', '~> 1.3'
31
31
  spec.add_dependency 'hanami-assets', '~> 1.3'
32
- spec.add_dependency 'hanami-cli', '~> 0.3'
32
+ spec.add_dependency 'dry-cli', '~> 0.5'
33
33
  spec.add_dependency 'concurrent-ruby', '~> 1.0'
34
34
  spec.add_dependency 'bundler', '>= 1.6', '< 3'
35
35
 
36
36
  spec.add_development_dependency 'rspec', '~> 3.7'
37
37
  spec.add_development_dependency 'rack-test', '~> 1.1'
38
38
  spec.add_development_dependency 'aruba', '~> 0.14'
39
- spec.add_development_dependency 'rake', '~> 12.0'
39
+ spec.add_development_dependency 'rake', '~> 13.0'
40
40
  end
@@ -1,7 +1,7 @@
1
1
  require 'hanami'
2
2
  require 'hanami/environment'
3
3
  require 'hanami/components'
4
- require 'hanami/cli/command'
4
+ require 'dry/cli/command'
5
5
  require 'hanami/cli/commands/project'
6
6
  require 'hanami/cli/commands/templates'
7
7
  require 'concurrent'
@@ -17,7 +17,7 @@ module Hanami
17
17
  # Abstract command
18
18
  #
19
19
  # @since 1.1.0
20
- class Command < Hanami::CLI::Command
20
+ class Command < Dry::CLI::Command
21
21
  # @since 1.1.0
22
22
  # @api private
23
23
  def self.inherited(component)
@@ -82,7 +82,7 @@ module Hanami
82
82
  options = environment.to_options.merge(options)
83
83
  end
84
84
 
85
- super(options)
85
+ super(**options)
86
86
  rescue StandardError => e
87
87
  warn e.message
88
88
  warn e.backtrace.join("\n\t")
@@ -92,9 +92,7 @@ module Hanami
92
92
 
93
93
  # @since 1.1.0
94
94
  # @api private
95
- def initialize(command_name:, out: $stdout, files: Utils::Files)
96
- super(command_name: command_name)
97
-
95
+ def initialize(out: $stdout, files: Utils::Files)
98
96
  @out = out
99
97
  @files = files
100
98
  @templates = Templates.new(self.class)
@@ -6,6 +6,6 @@ describe <%= app.classify %>::Controllers::<%= classified_controller_name %>::<%
6
6
 
7
7
  it 'is successful' do
8
8
  response = action.call(params)
9
- response[0].must_equal 200
9
+ _(response[0]).must_equal 200
10
10
  end
11
11
  end
@@ -7,6 +7,6 @@ describe <%= app.classify %>::Views::<%= classified_controller_name %>::<%= acti
7
7
  let(:rendered) { view.render }
8
8
 
9
9
  it 'exposes #format' do
10
- view.format.must_equal exposures.fetch(:format)
10
+ _(view.format).must_equal exposures.fetch(:format)
11
11
  end
12
12
  end
@@ -5,6 +5,6 @@ describe <%= app.classify %>::Views::ApplicationLayout do
5
5
  let(:rendered) { layout.render }
6
6
 
7
7
  it 'contains application name' do
8
- rendered.must_include('<%= app.classify %>')
8
+ _(rendered).must_include('<%= app.classify %>')
9
9
  end
10
10
  end
@@ -10,7 +10,6 @@ gem 'hanami-controller', require: false, git: 'https://github.com/hanami/contro
10
10
  gem 'hanami-view', require: false, git: 'https://github.com/hanami/view.git', branch: 'develop'
11
11
  gem 'hanami-helpers', require: false, git: 'https://github.com/hanami/helpers.git', branch: 'develop'
12
12
  gem 'hanami-mailer', require: false, git: 'https://github.com/hanami/mailer.git', branch: 'develop'
13
- gem 'hanami-cli', require: false, git: 'https://github.com/hanami/cli.git', branch: 'develop'
14
13
  gem 'hanami-assets', require: false, git: 'https://github.com/hanami/assets.git', branch: 'develop'
15
14
  gem 'hanami-model', require: false, git: 'https://github.com/hanami/model.git', branch: 'develop'
16
15
  gem 'hanami', git: 'https://github.com/hanami/hanami.git', branch: 'develop'
@@ -1,3 +1,3 @@
1
- require './config/environment'
1
+ require_relative 'config/environment'
2
2
 
3
3
  run Hanami.app
@@ -502,7 +502,7 @@ module Hanami
502
502
  # @since 1.1.0
503
503
  # @api private
504
504
  def generate_app(context)
505
- Hanami::CLI::Commands::New::App.new(command_name: "generate app", out: @out, files: @files).call(app: context.application_name, application_base_url: context.application_base_url, **context.options)
505
+ Hanami::CLI::Commands::New::App.new(out: @out, files: @files).call(app: context.application_name, application_base_url: context.application_base_url, **context.options)
506
506
  end
507
507
 
508
508
  # @since 1.1.0
@@ -565,8 +565,8 @@ module Hanami
565
565
 
566
566
  # @since 1.1.0
567
567
  # @api private
568
- def initialize(*)
569
- super
568
+ def initialize(*args, **kwargs)
569
+ super(*args, **kwargs)
570
570
  @templates = Templates.new(self.class.superclass)
571
571
  end
572
572
  end
@@ -1,4 +1,4 @@
1
- require 'hanami/cli'
1
+ require 'dry/cli'
2
2
  require 'ostruct'
3
3
 
4
4
  module Hanami
@@ -54,7 +54,7 @@ module Hanami
54
54
  # @since 1.1.0
55
55
  # @api private
56
56
  module Commands
57
- extend Hanami::CLI::Registry
57
+ extend Dry::CLI::Registry
58
58
 
59
59
  # CLI command context
60
60
  #
@@ -55,7 +55,7 @@ module Hanami
55
55
  # rubocop:disable Metrics/AbcSize
56
56
  # rubocop:disable Metrics/MethodLength
57
57
  def log(env, status, header, began_at)
58
- now = Time.now
58
+ now = ElapsedTime.call
59
59
  length = extract_content_length(header)
60
60
 
61
61
  msg = Hash[
@@ -89,5 +89,21 @@ module Hanami
89
89
  result.merge!(Utils::Hash.deep_stringify(env.fetch(ROUTER_PARAMS, {})))
90
90
  result
91
91
  end
92
+
93
+ # Wrapper which uses Rack's monotonic clock_time (used for began_at since Rack 2.1.0)
94
+ #
95
+ # @since 1.3.4
96
+ # @api private
97
+ class ElapsedTime
98
+ @clock = if Gem::Version.new(Rack::RELEASE) >= Gem::Version.new('2.1.0')
99
+ -> { Rack::Utils.clock_time }
100
+ else
101
+ -> { Time.now }
102
+ end.freeze
103
+
104
+ def self.call
105
+ @clock.call
106
+ end
107
+ end
92
108
  end
93
109
  end
@@ -5,7 +5,7 @@ module Hanami
5
5
  # @since 0.9.0
6
6
  # @api private
7
7
  module App
8
- # hanami-assets configuration for a sigle Hanami application in the project.
8
+ # hanami-assets configuration for a single Hanami application in the project.
9
9
  #
10
10
  # @since 0.9.0
11
11
  # @api private
@@ -8,7 +8,7 @@ module Hanami
8
8
  # @since 0.9.0
9
9
  # @api private
10
10
  module App
11
- # hanami-controller configuration for a sigle Hanami application in the project.
11
+ # hanami-controller configuration for a single Hanami application in the project.
12
12
  #
13
13
  # @since 0.9.0
14
14
  # @api private
@@ -8,7 +8,7 @@ module Hanami
8
8
  # @since 0.9.0
9
9
  # @api private
10
10
  module App
11
- # hanami-router configuration for a sigle Hanami application in the project.
11
+ # hanami-router configuration for a single Hanami application in the project.
12
12
  #
13
13
  # @since 0.9.0
14
14
  # @api private
@@ -5,7 +5,7 @@ module Hanami
5
5
  # @since 0.9.0
6
6
  # @api private
7
7
  module App
8
- # hanami-view configuration for a sigle Hanami application in the project.
8
+ # hanami-view configuration for a single Hanami application in the project.
9
9
  #
10
10
  # @since 0.9.0
11
11
  # @api private
@@ -33,6 +33,7 @@ module Hanami
33
33
  # @api private
34
34
  #
35
35
  # @see http://www.rubydoc.info/github/rack/rack/Rack/Session/Abstract/ID
36
+ # @see https://www.rubydoc.info/github/rack/rack/Rack/Session/Cookie
36
37
  def initialize(adapter = nil, options = {}, configuration = nil)
37
38
  @adapter = adapter
38
39
  @options = options
@@ -77,11 +78,17 @@ module Hanami
77
78
  # @since 0.2.0
78
79
  # @api private
79
80
  def default_options
80
- if @configuration
81
+ result = if @configuration
81
82
  { domain: domain, secure: @configuration.ssl? }
82
83
  else
83
84
  {}
84
85
  end
86
+
87
+ if s = cookies_adapter_serializer
88
+ result[:coder] = s
89
+ end
90
+
91
+ result
85
92
  end
86
93
 
87
94
  # @since 0.2.0
@@ -98,6 +105,15 @@ module Hanami
98
105
  def ip_address?(string)
99
106
  !!IPAddr.new(string) rescue false
100
107
  end
108
+
109
+ # @since 1.3.5
110
+ # @api private
111
+ def cookies_adapter_serializer
112
+ return nil unless @adapter == :cookie
113
+
114
+ require "rack/session/cookie"
115
+ Rack::Session::Cookie::Base64::JSON.new
116
+ end
101
117
  end
102
118
  end
103
119
  end
@@ -3,7 +3,7 @@
3
3
  module Hanami
4
4
  # HTTP/2 Early Hints Rack middleware
5
5
  #
6
- # It sends extra responses **before** the main reponse is sent.
6
+ # It sends extra responses **before** the main response is sent.
7
7
  # These extra responses are HTTP/2 Early Hints (103).
8
8
  # They specify the web assets (javascripts, stylesheets, etc..) to be "pushed",
9
9
  # so modern browsers pre-fetch them in parallel with the main HTTP response.
@@ -71,7 +71,7 @@ module Hanami
71
71
  # @api private
72
72
  def run_hanami_command(command)
73
73
  require "hanami/cli/commands"
74
- Hanami::CLI.new(Hanami::CLI::Commands).call(arguments: command.split(/[[:space:]]/))
74
+ Dry::CLI.new(Hanami::CLI::Commands).call(arguments: command.split(/[[:space:]]/))
75
75
  end
76
76
  # rubocop:enable Metrics/MethodLength
77
77
  end
@@ -1,6 +1,7 @@
1
1
  require 'hanami/utils/class'
2
2
  require 'hanami/views/default'
3
3
  require 'hanami/views/null_view'
4
+ require 'hanami/action/rack/errors'
4
5
 
5
6
  module Hanami
6
7
  # Rendering policy
@@ -17,8 +18,6 @@ module Hanami
17
18
 
18
19
  # @api private
19
20
  HANAMI_ACTION = 'hanami.action'.freeze
20
- # @api private
21
- RACK_EXCEPTION = 'rack.exception'.freeze
22
21
 
23
22
  # @api private
24
23
  SUCCESSFUL_STATUSES = (200..201).freeze
@@ -57,7 +56,7 @@ module Hanami
57
56
  action.exposures
58
57
  )
59
58
  rescue StandardError => e
60
- env[RACK_EXCEPTION] = e
59
+ Hanami::Action::Rack::Errors.set(env, e)
61
60
  raise e unless @configuration.handle_exceptions
62
61
 
63
62
  response[STATUS] = ERROR_STATUS
@@ -6,7 +6,7 @@ module Hanami
6
6
  module Version
7
7
  # @since 0.9.0
8
8
  # @api private
9
- VERSION = '1.3.3'.freeze
9
+ VERSION = '1.3.5'.freeze
10
10
 
11
11
  # @since 0.9.0
12
12
  # @api private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-20 00:00:00.000000000 Z
11
+ date: 2021-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hanami-utils
@@ -65,6 +65,9 @@ dependencies:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
67
  version: '1.3'
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 1.3.3
68
71
  type: :runtime
69
72
  prerelease: false
70
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,6 +75,9 @@ dependencies:
72
75
  - - "~>"
73
76
  - !ruby/object:Gem::Version
74
77
  version: '1.3'
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.3.3
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: hanami-view
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -129,19 +135,19 @@ dependencies:
129
135
  - !ruby/object:Gem::Version
130
136
  version: '1.3'
131
137
  - !ruby/object:Gem::Dependency
132
- name: hanami-cli
138
+ name: dry-cli
133
139
  requirement: !ruby/object:Gem::Requirement
134
140
  requirements:
135
141
  - - "~>"
136
142
  - !ruby/object:Gem::Version
137
- version: '0.3'
143
+ version: '0.5'
138
144
  type: :runtime
139
145
  prerelease: false
140
146
  version_requirements: !ruby/object:Gem::Requirement
141
147
  requirements:
142
148
  - - "~>"
143
149
  - !ruby/object:Gem::Version
144
- version: '0.3'
150
+ version: '0.5'
145
151
  - !ruby/object:Gem::Dependency
146
152
  name: concurrent-ruby
147
153
  requirement: !ruby/object:Gem::Requirement
@@ -224,14 +230,14 @@ dependencies:
224
230
  requirements:
225
231
  - - "~>"
226
232
  - !ruby/object:Gem::Version
227
- version: '12.0'
233
+ version: '13.0'
228
234
  type: :development
229
235
  prerelease: false
230
236
  version_requirements: !ruby/object:Gem::Requirement
231
237
  requirements:
232
238
  - - "~>"
233
239
  - !ruby/object:Gem::Version
234
- version: '12.0'
240
+ version: '13.0'
235
241
  description: Hanami is a web framework for Ruby
236
242
  email:
237
243
  - me@lucaguidi.com
@@ -395,13 +401,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
395
401
  - - ">="
396
402
  - !ruby/object:Gem::Version
397
403
  version: 2.3.0
404
+ - - "<"
405
+ - !ruby/object:Gem::Version
406
+ version: '3'
398
407
  required_rubygems_version: !ruby/object:Gem::Requirement
399
408
  requirements:
400
409
  - - ">="
401
410
  - !ruby/object:Gem::Version
402
411
  version: '0'
403
412
  requirements: []
404
- rubygems_version: 3.0.3
413
+ rubygems_version: 3.2.2
405
414
  signing_key:
406
415
  specification_version: 4
407
416
  summary: The web, with simplicity