charcoal 2.7.0 → 2.9.0

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: 00474cda870869c981bbaa283926961a92c19ae17907569765b4172c28969941
4
- data.tar.gz: e3ef579eede5c0b88c0df4b7b0da9f4e402d82457d8f1adad7ccf147f8a3e75a
3
+ metadata.gz: 6d3a9f48b3bab866f70fb6546172acecea8ce4767e7a55854804b2099542554b
4
+ data.tar.gz: 034d87dfd8c1973ce3247850d933945b7a24b0c7de2d2b164244a0d618c9d2ec
5
5
  SHA512:
6
- metadata.gz: 2adcee378a347920adf63fcd56939106c69d53901cc378e4ec192a420dbec304f96efb32959f29f56a8065e31c59d130ba59bb4d48b95e6282c34ef52d8f782c
7
- data.tar.gz: 36a08ff680798e4e6427ba6ef51edce94d524718540477718e8a39a9dbd45a14c61108473845e307732a1bda152a8628e4da54cfd905294ac82db80b003b3c1d
6
+ metadata.gz: 7090f4dfff23575604def834c40ada23ce74191cff33cb63183ef4307832bd1a0688ad78df2e607032b775f1865448c100689860d7a6f2b39e0c22bd110c13cd
7
+ data.tar.gz: bb6e7bcc8f79c3d8c5f9b76eabe3f14c915c472c5c8b093f30a1807e1bfdf41bd7b993876c5a469e0bfe38c482029057d7a6e70e7f45c9a6181ffd0fea20647b
@@ -1,7 +1,27 @@
1
1
  require "action_controller"
2
+ require "action_dispatch"
2
3
 
3
4
  module Charcoal::Utilities
4
- Routing = defined?(ActionDispatch) ? ActionDispatch::Routing : ActionController::Routing
5
+ # OPTIONS is the preflight question, not an answer. CONNECT/TRACE/TRACK are
6
+ # "forbidden methods" the browser won't send cross-origin.
7
+ # See https://fetch.spec.whatwg.org/#forbidden-method
8
+ FORBIDDEN_CORS_METHODS = %w[OPTIONS CONNECT TRACE TRACK].freeze
9
+
10
+ # WebDAV / versioning families (PROPFIND, MKCOL, REPORT, …): recognized by
11
+ # Rails but never sent cross-origin. These are the RFC groups ActionDispatch
12
+ # concatenates to build HTTP_METHODS.
13
+ WEBDAV_METHODS = [
14
+ *ActionDispatch::Request::RFC2518,
15
+ *ActionDispatch::Request::RFC3253,
16
+ *ActionDispatch::Request::RFC3648,
17
+ *ActionDispatch::Request::RFC3744,
18
+ *ActionDispatch::Request::RFC5323,
19
+ *ActionDispatch::Request::RFC4791
20
+ ].freeze
21
+
22
+ # Verbs advertised in Access-Control-Allow-Methods.
23
+ HTTP_METHODS = (ActionDispatch::Request::HTTP_METHODS - FORBIDDEN_CORS_METHODS - WEBDAV_METHODS)
24
+ .map { |v| v.downcase.to_sym }.freeze
5
25
 
6
26
  def allowed_methods_for?(protocol)
7
27
  @allowed_methods ||= {}
@@ -12,9 +32,7 @@ module Charcoal::Utilities
12
32
  private
13
33
 
14
34
  def methods_allowed_for?(protocol)
15
- Routing::HTTP_METHODS.select do |verb|
16
- next if verb == :options
17
-
35
+ HTTP_METHODS.select do |verb|
18
36
  route = find_route(request.path, request.env.merge(method: verb))
19
37
 
20
38
  if route
@@ -1,3 +1,3 @@
1
1
  module Charcoal
2
- VERSION = "2.7.0"
2
+ VERSION = "2.9.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: charcoal
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Davidovitz
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-16 00:00:00.000000000 Z
11
+ date: 2026-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,82 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.2'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '7.2'
19
+ version: '7.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '5.2'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '7.2'
26
+ version: '7.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: actionpack
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
38
32
  - !ruby/object:Gem::Version
39
- version: '5.2'
40
- - - "<"
41
- - !ruby/object:Gem::Version
42
- version: '7.2'
33
+ version: '7.0'
43
34
  type: :runtime
44
35
  prerelease: false
45
36
  version_requirements: !ruby/object:Gem::Requirement
46
37
  requirements:
47
38
  - - ">="
48
39
  - !ruby/object:Gem::Version
49
- version: '5.2'
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '7.2'
53
- - !ruby/object:Gem::Dependency
54
- name: rake
55
- requirement: !ruby/object:Gem::Requirement
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- version: '0'
60
- type: :development
61
- prerelease: false
62
- version_requirements: !ruby/object:Gem::Requirement
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
- - !ruby/object:Gem::Dependency
68
- name: yard
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- version: 0.9.11
74
- type: :development
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 0.9.11
81
- - !ruby/object:Gem::Dependency
82
- name: shoulda
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '3.0'
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- requirements:
92
- - - "~>"
93
- - !ruby/object:Gem::Version
94
- version: '3.0'
40
+ version: '7.0'
95
41
  description: Helps you support JSONP and CORS in your Rails app
96
42
  email: sdavidovitz@zendesk.com
97
43
  executables: []
@@ -109,7 +55,7 @@ homepage: https://github.com/zendesk/charcoal
109
55
  licenses:
110
56
  - MIT
111
57
  metadata: {}
112
- post_install_message:
58
+ post_install_message:
113
59
  rdoc_options: []
114
60
  require_paths:
115
61
  - lib
@@ -117,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
63
  requirements:
118
64
  - - ">="
119
65
  - !ruby/object:Gem::Version
120
- version: '2.7'
66
+ version: '3.2'
121
67
  required_rubygems_version: !ruby/object:Gem::Requirement
122
68
  requirements:
123
69
  - - ">="
124
70
  - !ruby/object:Gem::Version
125
71
  version: '0'
126
72
  requirements: []
127
- rubygems_version: 3.0.3.1
128
- signing_key:
73
+ rubygems_version: 3.4.19
74
+ signing_key:
129
75
  specification_version: 4
130
76
  summary: Cross-Origin helper for Rails
131
77
  test_files: []