hanami 1.2.0.beta2 → 1.2.0.rc1

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: 9a0f72fe00d3ad621f01a1a30055d1effc1d03f6bc64c889f4054771e5608ceb
4
- data.tar.gz: 3ebc04ca82a25d17662fbf33b92476de8abe3fa1cbbdaa41c07b060eda2e32d7
3
+ metadata.gz: 44d1bd70ec3b1825cff18c70332819cb716de9a5ad66db1b74ee5f29e78f6ca7
4
+ data.tar.gz: f934d3db165094975f91e744de22fb24cbd4fc0befab5a4db873ad688c1bf569
5
5
  SHA512:
6
- metadata.gz: d5b97bf005b5f5b5c036219f843c622afd3714266e130bc267f843be15013378da400d79d40d9e63dd616a51093d2f717c71a4835deda64f9ed8cde4e4d7ab10
7
- data.tar.gz: 304ba7c190f72e27873029489a47ca2e5dbd9335e9608d70b6193a4afc805c2d24d41dabff08fc3e1596733dd32a7e80b0a82bdfa59f20ee483b7e58dca056ce
6
+ metadata.gz: 8d4c6969d981a382177e2ef1d09b78e410f6ee5a10c4aaca0ce8bb24a03895ae447a689456a4942f0c5843c14f078d8afd34d88e2dea9faf267980d869ffacbe
7
+ data.tar.gz: 3cf6e443c70b84baa5c6e2a145f812a1b19bf1dff1eac7ffd103389bbbbbed0b5a95aae187d87f6aaeab16dc68f7de3d5b9a75021af5e25d3916e2c905a0c120
@@ -1,6 +1,8 @@
1
1
  # Hanami
2
2
  The web, with simplicity.
3
3
 
4
+ ## v1.2.0.rc1 - 2018-03-30
5
+
4
6
  ## v1.2.0.beta2 - 2018-03-23
5
7
  ### Fixed
6
8
  - [Luca Guidi] Raise meaningful error message when trying to access `session` or `flash` with disabled sessions
data/README.md CHANGED
@@ -76,7 +76,7 @@ We have a [Code of Conduct](http://hanamirb.org/community/#code-of-conduct) to h
76
76
  In general, we expect **you** to be **nice** with other people.
77
77
  Our hope is for a great software and a great Community.
78
78
 
79
- ## Contributing
79
+ ## Contributing [![Open Source Helpers](https://www.codetriage.com/hanami/hanami/badges/users.svg)](https://www.codetriage.com/hanami/hanami)
80
80
 
81
81
  1. Fork it ( https://github.com/hanami/hanami/fork )
82
82
  2. Create your feature branch (`git checkout -b my-new-feature`)
@@ -84,6 +84,8 @@ Our hope is for a great software and a great Community.
84
84
  4. Push to the branch (`git push origin my-new-feature`)
85
85
  5. Create a new Pull Request
86
86
 
87
+ In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to hanami on CodeTriage](https://www.codetriage.com/hanami/hanami).
88
+
87
89
  ### How To Use Hanami HEAD
88
90
 
89
91
  If you want to test Hanami's HEAD to try a new feature or to test a bug fix, here's how to do:
@@ -21,15 +21,15 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
23
23
 
24
- spec.add_dependency 'hanami-utils', '1.2.0.beta2'
25
- spec.add_dependency 'hanami-validations', '1.2.0.beta2'
26
- spec.add_dependency 'hanami-router', '1.2.0.beta2'
27
- spec.add_dependency 'hanami-controller', '1.2.0.beta2'
28
- spec.add_dependency 'hanami-view', '1.2.0.beta2'
29
- spec.add_dependency 'hanami-helpers', '1.2.0.beta2'
30
- spec.add_dependency 'hanami-mailer', '1.2.0.beta2'
31
- spec.add_dependency 'hanami-assets', '1.2.0.beta2'
32
- spec.add_dependency 'hanami-cli', '0.2.0.beta2'
24
+ spec.add_dependency 'hanami-utils', '1.2.0.rc1'
25
+ spec.add_dependency 'hanami-validations', '1.2.0.rc1'
26
+ spec.add_dependency 'hanami-router', '1.2.0.rc1'
27
+ spec.add_dependency 'hanami-controller', '1.2.0.rc1'
28
+ spec.add_dependency 'hanami-view', '1.2.0.rc1'
29
+ spec.add_dependency 'hanami-helpers', '1.2.0.rc1'
30
+ spec.add_dependency 'hanami-mailer', '1.2.0.rc1'
31
+ spec.add_dependency 'hanami-assets', '1.2.0.rc1'
32
+ spec.add_dependency 'hanami-cli', '0.2.0.rc1'
33
33
  spec.add_dependency 'concurrent-ruby', '~> 1.0'
34
34
  spec.add_dependency 'bundler'
35
35
 
@@ -82,7 +82,7 @@ module Hanami
82
82
  #
83
83
  # @see Hanami.configure
84
84
  #
85
- # @since x.x.x
85
+ # @since 1.2.0
86
86
  def self.plugin(&blk)
87
87
  @_plugins << blk
88
88
  end
@@ -105,7 +105,7 @@ module Hanami
105
105
  # `Components.release` and we'll be able to store plugins in `Components` and
106
106
  # remove `Hanami.plugins` as well.
107
107
  #
108
- # @since x.x.x
108
+ # @since 1.2.0
109
109
  # @api private
110
110
  def self.plugins
111
111
  @_plugins
@@ -46,7 +46,7 @@ module Hanami
46
46
 
47
47
  private
48
48
 
49
- # @since x.x.x
49
+ # @since 1.2.0
50
50
  # @api private
51
51
  attr_reader :app
52
52
 
@@ -200,17 +200,19 @@ module Hanami
200
200
  # @since 1.1.0
201
201
  # @api private
202
202
  RESOURCEFUL_ROUTE_URL_SUFFIXES = {
203
- 'show' => '/:id',
204
- 'update' => '/:id',
205
- 'destroy' => '/:id',
203
+ 'index' => '',
206
204
  'new' => '/new',
207
- 'edit' => '/:id/edit'
205
+ 'create' => '',
206
+ 'edit' => '/:id/edit',
207
+ 'update' => '/:id',
208
+ 'show' => '/:id',
209
+ 'destroy' => '/:id'
208
210
  }.freeze
209
211
 
210
212
  # @since 1.1.0
211
213
  # @api private
212
214
  def route_resourceful_url_suffix(context)
213
- RESOURCEFUL_ROUTE_URL_SUFFIXES.fetch(context.action) { "" }
215
+ RESOURCEFUL_ROUTE_URL_SUFFIXES.fetch(context.action) { "/#{context.action}" }
214
216
  end
215
217
 
216
218
  # @since 1.1.0
@@ -50,7 +50,7 @@ module Hanami
50
50
  # @api private
51
51
  DEFAULT_SUBJECT = "Hello".freeze
52
52
 
53
- # @sice x.x.x
53
+ # @since 1.1.1
54
54
  # @api private
55
55
  QUOTES_REGEX = /^("|')|("|')$/
56
56
 
@@ -92,7 +92,7 @@ module Hanami
92
92
  say(:create, destination)
93
93
  end
94
94
 
95
- # @since x.x.x
95
+ # @since 1.1.1
96
96
  # @api private
97
97
  def clean_option(option)
98
98
  option.gsub(QUOTES_REGEX, '')
@@ -299,7 +299,7 @@ module Hanami
299
299
  application_name: options.fetch(:application_name),
300
300
  application_base_url: options.fetch(:application_base_url),
301
301
  hanami_head: options.fetch(:hanami_head),
302
- hanami_model_version: '1.2.0.beta2',
302
+ hanami_model_version: '1.2.0.rc1',
303
303
  code_reloading: code_reloading?,
304
304
  hanami_version: hanami_version,
305
305
  project_module: Utils::String.classify(project),
@@ -35,7 +35,7 @@ gem 'haml'
35
35
  group :development do
36
36
  # Code reloading
37
37
  # See: http://hanamirb.org/guides/projects/code-reloading
38
- gem 'shotgun'
38
+ gem 'shotgun', platforms: :ruby
39
39
 
40
40
  gem 'hanami-webconsole'
41
41
  end
@@ -342,7 +342,7 @@ module Hanami
342
342
 
343
343
  # Load plugins
344
344
  #
345
- # @since x.x.x
345
+ # @since 1.2.0
346
346
  # @api private
347
347
  register 'plugins' do
348
348
  resolve do |configuration|
@@ -97,14 +97,21 @@ module Hanami
97
97
  settings.fetch_or_store(:mounted, {})
98
98
  end
99
99
 
100
- # @since x.x.x
100
+ # @since 1.2.0
101
+ #
102
+ # @example
103
+ # # config/environment.rb
104
+ # # ...
105
+ # Hanami.configure do
106
+ # middleware.use MyRackMiddleware
107
+ # end
101
108
  def middleware
102
109
  settings.fetch_or_store(:middleware, Configuration::Middleware.new)
103
110
  end
104
111
 
105
112
  # Setup Early Hints feature
106
113
  #
107
- # @since x.x.x
114
+ # @since 1.2.0
108
115
  #
109
116
  # @example Enable for all the environments
110
117
  # # config/environment.rb
@@ -4,8 +4,10 @@ module Hanami
4
4
  # @api private
5
5
  class Configuration
6
6
  # Middleware configuration
7
+ # @since 1.2.0
7
8
  class Middleware
8
9
  # @api private
10
+ # @since 1.2.0
9
11
  def initialize
10
12
  @middleware = Concurrent::Array.new
11
13
  end
@@ -16,7 +18,7 @@ module Hanami
16
18
  # @param args [Array<Object>] an optional set of options
17
19
  # @param blk [Proc] an optional block to pass to the middleware
18
20
  #
19
- # @since x.x.x
21
+ # @since 1.2.0
20
22
  #
21
23
  # @example
22
24
  # # config/environment.rb
@@ -29,6 +31,7 @@ module Hanami
29
31
  end
30
32
 
31
33
  # @api private
34
+ # @since 1.2.0
32
35
  def each(&blk)
33
36
  @middleware.each(&blk)
34
37
  end
@@ -10,20 +10,20 @@ module Hanami
10
10
  #
11
11
  # @see https://tools.ietf.org/html/draft-ietf-httpbis-early-hints-05
12
12
  #
13
- # @since x.x.x
13
+ # @since 1.2.0
14
14
  # @api private
15
15
  class EarlyHints
16
- # @since x.x.x
16
+ # @since 1.2.0
17
17
  # @api private
18
18
  class NotSupportedByServerError < ::StandardError
19
- # @since x.x.x
19
+ # @since 1.2.0
20
20
  # @api private
21
21
  def initialize
22
22
  super("Current Ruby server doesn't support Early Hints.\nPlease make sure to use a web server with Early Hints enabled (only Puma for now).")
23
23
  end
24
24
  end
25
25
 
26
- # @since x.x.x
26
+ # @since 1.2.0
27
27
  # @api private
28
28
  def initialize(app)
29
29
  @app = app
@@ -36,7 +36,7 @@ module Hanami
36
36
  # @raise [Hanami::EarlyHints::NotSupportedByServerError] if the current Ruby
37
37
  # server doesn't support Early Hints
38
38
  #
39
- # @since x.x.x
39
+ # @since 1.2.0
40
40
  # @api private
41
41
  def call(env)
42
42
  @app.call(env).tap do
@@ -59,7 +59,7 @@ module Hanami
59
59
  # 2. Response #2: 10 assets
60
60
  # 3. Response #3: 3 assets
61
61
  #
62
- # @since x.x.x
62
+ # @since 1.2.0
63
63
  # @api private
64
64
  BATCH_SIZE = 10
65
65
 
@@ -67,7 +67,7 @@ module Hanami
67
67
  # inject an object into the Rack env to send multiple Early Hints (103)
68
68
  # responses.
69
69
  #
70
- # @since x.x.x
70
+ # @since 1.2.0
71
71
  # @api private
72
72
  #
73
73
  # @see https://github.com/puma/puma/pull/1403
@@ -80,7 +80,7 @@ module Hanami
80
80
  #
81
81
  # NOTE: if changing this key here, it MUST be changed into `hanami-assets` as well
82
82
  #
83
- # @since x.x.x
83
+ # @since 1.2.0
84
84
  # @api private
85
85
  CACHE_KEY = :__hanami_assets
86
86
 
@@ -92,7 +92,7 @@ module Hanami
92
92
  # @raise [Hanami::EarlyHints::NotSupportedByServerError] if the current Ruby
93
93
  # server doesn't support Early Hints
94
94
  #
95
- # @since x.x.x
95
+ # @since 1.2.0
96
96
  # @api private
97
97
  def send_early_hints(env)
98
98
  return if Thread.current[CACHE_KEY].nil?
@@ -117,7 +117,7 @@ module Hanami
117
117
  # @raise [Hanami::EarlyHints::NotSupportedByServerError] if the current Ruby
118
118
  # server doesn't support Early Hints
119
119
  #
120
- # @since x.x.x
120
+ # @since 1.2.0
121
121
  # @api private
122
122
  def send_early_hints_response(env, link)
123
123
  env[RACK_EARLY_HINTS_ENV_KEY].call("Link" => link)
@@ -6,7 +6,7 @@ module Hanami
6
6
  module Version
7
7
  # @since 0.9.0
8
8
  # @api private
9
- VERSION = '1.2.0.beta2'.freeze
9
+ VERSION = '1.2.0.rc1'.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.2.0.beta2
4
+ version: 1.2.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-23 00:00:00.000000000 Z
11
+ date: 2018-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hanami-utils
@@ -16,126 +16,126 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.0.beta2
19
+ version: 1.2.0.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.0.beta2
26
+ version: 1.2.0.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: hanami-validations
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.0.beta2
33
+ version: 1.2.0.rc1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2.0.beta2
40
+ version: 1.2.0.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hanami-router
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 1.2.0.beta2
47
+ version: 1.2.0.rc1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 1.2.0.beta2
54
+ version: 1.2.0.rc1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: hanami-controller
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 1.2.0.beta2
61
+ version: 1.2.0.rc1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 1.2.0.beta2
68
+ version: 1.2.0.rc1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: hanami-view
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.2.0.beta2
75
+ version: 1.2.0.rc1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 1.2.0.beta2
82
+ version: 1.2.0.rc1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: hanami-helpers
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.2.0.beta2
89
+ version: 1.2.0.rc1
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 1.2.0.beta2
96
+ version: 1.2.0.rc1
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: hanami-mailer
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 1.2.0.beta2
103
+ version: 1.2.0.rc1
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 1.2.0.beta2
110
+ version: 1.2.0.rc1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: hanami-assets
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 1.2.0.beta2
117
+ version: 1.2.0.rc1
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 1.2.0.beta2
124
+ version: 1.2.0.rc1
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: hanami-cli
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 0.2.0.beta2
131
+ version: 0.2.0.rc1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 0.2.0.beta2
138
+ version: 0.2.0.rc1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: concurrent-ruby
141
141
  requirement: !ruby/object:Gem::Requirement