hanami 1.3.3 → 1.3.5

Sign up to get free protection for your applications and to get access to all the features.
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