padrino-helpers 0.18.2 → 0.18.3

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: 924909fe1054736b28e1ab952d79295455cb02678e634fadf70632672baaee66
4
- data.tar.gz: 53e1a1f8c8e69f4723355f0857e69196543cd72cd1d6e90b526481f446b24350
3
+ metadata.gz: f1067f2786fa9b3dbbb3d3e98752d3a0908524ebce2e70db7101dd358abb3a2b
4
+ data.tar.gz: caf20a1d53d0e8faf2feb49f4ac55094c7d39d9c494eb487d1dce2fdec2c695c
5
5
  SHA512:
6
- metadata.gz: 022652651c54083698e889064b555ae5262d041e770f80880a22998f0c95c4ce30302952b51aa6e338a4b58a61de76a9a4be377e6ab1108aec53e860ff700730
7
- data.tar.gz: 14c646b16ad8a04f93f828b888de6bf2ec6dc20d6ff36d28aa2e93da3dcfdafc1fac514964be0bbe03fd451eaf8b7bab58e83fe4e41f27506ad43ec440176111
6
+ metadata.gz: bfa71f1544018362466e0b14fb81080e8ea3bc7966b62ab16d7b01e53011614d174dc47084cde36cb7f329db1362515ec54a9e4fdb3824d3914ab4045cf15ad7
7
+ data.tar.gz: 2038fa81da10a8015da09293ff1605c832dd05246544b72f50c2ecc449d08d92437f4f78bdaf4cfeef210c8ffd2f8a9766b165a8b804ddb3d7a9aa56c0b79506
@@ -52,7 +52,7 @@ module Padrino
52
52
  # it will create one and assign it to the session's `csrf` key.
53
53
  #
54
54
  def csrf_token
55
- session[:csrf] ||= SecureRandom.hex(32) if defined?(session)
55
+ session[:csrf] ||= SecureRandom.urlsafe_base64(32) if defined?(session)
56
56
  end
57
57
 
58
58
  ##
data/test/test_helpers.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require_relative 'helper'
2
+ require 'padrino-core'
2
3
 
3
4
  describe 'Padrino::Helpers' do
4
5
  it 'should allow including without registering' do
@@ -15,4 +16,19 @@ describe 'Padrino::Helpers' do
15
16
  end
16
17
  assert_equal 'FancyBuilder', @app.default_builder
17
18
  end
19
+
20
+ it 'should write a form token that a later POST is accepted with' do
21
+ mock_app do
22
+ enable :sessions
23
+ disable :protection
24
+ set :protect_from_csrf, except: ['/signup']
25
+ get('/signup') { form_tag('/save') { '' } }
26
+ post('/save') { 'saved' }
27
+ end
28
+ get '/signup'
29
+ token = Nokogiri::HTML(last_response.body).at_css('input[name="authenticity_token"]')['value']
30
+ post '/save', authenticity_token: token
31
+ assert_equal 200, last_response.status
32
+ assert_equal 'saved', last_response.body
33
+ end
18
34
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.2
4
+ version: 0.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2026-11-01 00:00:00.000000000 Z
14
+ date: 2026-11-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: padrino-support
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 0.18.2
22
+ version: 0.18.3
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.18.2
29
+ version: 0.18.3
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: tilt
32
32
  requirement: !ruby/object:Gem::Requirement