brakeman 5.4.1 → 6.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +14 -0
  3. data/README.md +2 -2
  4. data/bundle/load.rb +3 -4
  5. data/bundle/ruby/3.1.0/gems/parallel-1.23.0/lib/parallel/version.rb +4 -0
  6. data/bundle/ruby/3.1.0/gems/{parallel-1.22.1 → parallel-1.23.0}/lib/parallel.rb +43 -3
  7. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/History.rdoc +38 -0
  8. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/Manifest.txt +2 -0
  9. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/README.rdoc +2 -1
  10. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/compare/normalize.rb +1 -0
  11. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby20_parser.rb +4267 -4284
  12. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby20_parser.y +50 -26
  13. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby21_parser.rb +4241 -4240
  14. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby21_parser.y +50 -26
  15. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby22_parser.rb +4289 -4290
  16. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby22_parser.y +50 -26
  17. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby23_parser.rb +4274 -4243
  18. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby23_parser.y +50 -26
  19. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby24_parser.rb +4279 -4298
  20. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby24_parser.y +50 -26
  21. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby25_parser.rb +4270 -4289
  22. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby25_parser.y +50 -26
  23. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby26_parser.rb +4270 -4289
  24. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby26_parser.y +50 -26
  25. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby27_parser.rb +4173 -4206
  26. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby27_parser.y +50 -26
  27. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby30_parser.rb +6029 -5971
  28. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby30_parser.y +135 -86
  29. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby31_parser.rb +6195 -6184
  30. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby31_parser.y +136 -87
  31. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +13601 -0
  32. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2/lib/ruby3_parser.yy → ruby_parser-3.20.3/lib/ruby32_parser.y} +158 -163
  33. data/bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +3635 -0
  34. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
  35. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
  36. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
  37. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser.rb +2 -0
  38. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser.yy +50 -26
  39. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +25 -19
  40. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/tools/munge.rb +8 -2
  41. data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/tools/ripper.rb +14 -12
  42. data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/History.rdoc +13 -0
  43. data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/pt_testcase.rb +3 -3
  44. data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp.rb +8 -2
  45. data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp_processor.rb +1 -1
  46. data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/strict_sexp.rb +6 -5
  47. data/lib/brakeman/app_tree.rb +0 -1
  48. data/lib/brakeman/checks/check_content_tag.rb +8 -5
  49. data/lib/brakeman/checks/check_eol_ruby.rb +3 -1
  50. data/lib/brakeman/report/report_github.rb +1 -1
  51. data/lib/brakeman/scanner.rb +0 -1
  52. data/lib/brakeman/tracker/config.rb +15 -11
  53. data/lib/brakeman/version.rb +1 -1
  54. data/lib/brakeman.rb +6 -2
  55. metadata +56 -68
  56. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb +0 -44
  57. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
  58. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +0 -6
  59. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +0 -19
  60. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +0 -54
  61. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +0 -5794
  62. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +0 -1909
  63. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +0 -6186
  64. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +0 -2117
  65. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +0 -1412
  66. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +0 -179
  67. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +0 -323
  68. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +0 -30
  69. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +0 -1388
  70. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +0 -5
  71. /data/bundle/ruby/3.1.0/gems/{parallel-1.22.1 → parallel-1.23.0}/MIT-LICENSE.txt +0 -0
  72. /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/debugging.md +0 -0
  73. /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/gauntlet.md +0 -0
  74. /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  75. /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  76. /data/bundle/ruby/3.1.0/gems/{ruby_parser-3.19.2 → ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  77. /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/Manifest.txt +0 -0
  78. /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/README.rdoc +0 -0
  79. /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/composite_sexp_processor.rb +0 -0
  80. /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/sexp_matcher.rb +0 -0
  81. /data/bundle/ruby/3.1.0/gems/{sexp_processor-4.16.1 → sexp_processor-4.17.0}/lib/unique.rb +0 -0
@@ -73,11 +73,14 @@ class Brakeman::CheckContentTag < Brakeman::CheckCrossSiteScripting
73
73
  check_argument result, content
74
74
  end
75
75
 
76
- #Attribute keys are never escaped, so check them for user input
77
- if not @matched and hash? attributes and not request_value? attributes
78
- hash_iterate(attributes) do |k, _v|
79
- check_argument result, k
80
- return if @matched
76
+ # This changed in Rails 6.1.6
77
+ if version_between? '0.0.0', '6.1.5'
78
+ #Attribute keys are never escaped, so check them for user input
79
+ if not @matched and hash? attributes and not request_value? attributes
80
+ hash_iterate(attributes) do |k, _v|
81
+ check_argument result, k
82
+ return if @matched
83
+ end
81
84
  end
82
85
  end
83
86
 
@@ -21,6 +21,8 @@ class Brakeman::CheckEOLRuby < Brakeman::EOLCheck
21
21
  ['2.5.0', '2.5.99'] => Date.new(2021, 3, 31),
22
22
  ['2.6.0', '2.6.99'] => Date.new(2022, 3, 31),
23
23
  ['2.7.0', '2.7.99'] => Date.new(2023, 3, 31),
24
- ['3.0.0', '2.8.99'] => Date.new(2024, 3, 31),
24
+ ['3.0.0', '3.0.99'] => Date.new(2024, 3, 31),
25
+ ['3.1.0', '3.1.99'] => Date.new(2025, 3, 31),
26
+ ['3.2.0', '3.2.99'] => Date.new(2026, 3, 31),
25
27
  }
26
28
  end
@@ -1,4 +1,4 @@
1
- # Github Actions Formatter
1
+ # GitHub Actions Formatter
2
2
  # Formats warnings as workflow commands to create annotations in GitHub UI
3
3
  class Brakeman::Report::Github < Brakeman::Report::Base
4
4
  def generate_report
@@ -1,6 +1,5 @@
1
1
  begin
2
2
  Brakeman.load_brakeman_dependency 'ruby_parser'
3
- Brakeman.load_brakeman_dependency 'ruby_parser/legacy'
4
3
  require 'ruby_parser/bm_sexp.rb'
5
4
  require 'ruby_parser/bm_sexp_processor.rb'
6
5
  require 'brakeman/processor'
@@ -20,9 +20,7 @@ module Brakeman
20
20
 
21
21
  def default_protect_from_forgery?
22
22
  if version_between? "5.2.0.beta1", "9.9.9"
23
- if @rails.dig(:action_controller, :default_protect_from_forgery) == Sexp.new(:false)
24
- return false
25
- else
23
+ if @rails.dig(:action_controller, :default_protect_from_forgery) == Sexp.new(:true)
26
24
  return true
27
25
  end
28
26
  end
@@ -191,13 +189,19 @@ module Brakeman
191
189
  # Load defaults based on config.load_defaults value
192
190
  # as documented here: https://guides.rubyonrails.org/configuring.html#results-of-config-load-defaults
193
191
  def load_rails_defaults
194
- return unless number? tracker.config.rails[:load_defaults]
192
+ return unless node_type? tracker.config.rails[:load_defaults], :lit, :str
193
+
194
+ version = tracker.config.rails[:load_defaults].value.to_s
195
+
196
+ unless version.match? /^\d+\.\d+$/
197
+ Brakeman.debug "[Notice] Unknown version: #{tracker.config.rails[:load_defaults]}"
198
+ return
199
+ end
195
200
 
196
- version = tracker.config.rails[:load_defaults].value
197
201
  true_value = Sexp.new(:true)
198
202
  false_value = Sexp.new(:false)
199
203
 
200
- if version >= 5.0
204
+ if version >= '5.0'
201
205
  set_rails_config(value: true_value, path: [:action_controller, :per_form_csrf_tokens])
202
206
  set_rails_config(value: true_value, path: [:action_controller, :forgery_protection_origin_check])
203
207
  set_rails_config(value: true_value, path: [:active_record, :belongs_to_required_by_default])
@@ -205,12 +209,12 @@ module Brakeman
205
209
  set_rails_config(value: true_value, path: [:ssl_options, :hsts, :subdomains])
206
210
  end
207
211
 
208
- if version >= 5.1
212
+ if version >= '5.1'
209
213
  set_rails_config(value: false_value, path: [:assets, :unknown_asset_fallback])
210
214
  set_rails_config(value: true_value, path: [:action_view, :form_with_generates_remote_forms])
211
215
  end
212
216
 
213
- if version >= 5.2
217
+ if version >= '5.2'
214
218
  set_rails_config(value: true_value, path: [:active_record, :cache_versioning])
215
219
  set_rails_config(value: true_value, path: [:action_dispatch, :use_authenticated_cookie_encryption])
216
220
  set_rails_config(value: true_value, path: [:active_support, :use_authenticated_message_encryption])
@@ -219,7 +223,7 @@ module Brakeman
219
223
  set_rails_config(value: true_value, path: [:action_view, :form_with_generates_ids])
220
224
  end
221
225
 
222
- if version >= 6.0
226
+ if version >= '6.0'
223
227
  set_rails_config(value: Sexp.new(:lit, :zeitwerk), path: [:autoloader])
224
228
  set_rails_config(value: false_value, path: [:action_view, :default_enforce_utf8])
225
229
  set_rails_config(value: true_value, path: [:action_dispatch, :use_cookies_with_metadata])
@@ -232,7 +236,7 @@ module Brakeman
232
236
  set_rails_config(value: true_value, path: [:active_record, :collection_cache_versioning])
233
237
  end
234
238
 
235
- if version >= 6.1
239
+ if version >= '6.1'
236
240
  set_rails_config(value: true_value, path: [:action_controller, :urlsafe_csrf_tokens])
237
241
  set_rails_config(value: Sexp.new(:lit, :lax), path: [:action_dispatch, :cookies_same_site_protection])
238
242
  set_rails_config(value: Sexp.new(:lit, 308), path: [:action_dispatch, :ssl_default_redirect_status])
@@ -244,7 +248,7 @@ module Brakeman
244
248
  set_rails_config(value: true_value, path: [:active_storage, :track_variants])
245
249
  end
246
250
 
247
- if version >= 7.0
251
+ if version >= '7.0'
248
252
  video_args =
249
253
  Sexp.new(:str, "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2")
250
254
  hash_class = s(:colon2, s(:colon2, s(:const, :OpenSSL), :Digest), :SHA256)
@@ -1,3 +1,3 @@
1
1
  module Brakeman
2
- Version = "5.4.1"
2
+ Version = "6.0.1"
3
3
  end
data/lib/brakeman.rb CHANGED
@@ -493,10 +493,14 @@ module Brakeman
493
493
  end
494
494
 
495
495
  tracker = run(options)
496
+ new_report = JSON.parse(tracker.report.to_json, symbolize_names: true)
496
497
 
497
- new_results = JSON.parse(tracker.report.to_json, :symbolize_names => true)[:warnings]
498
+ new_results = new_report[:warnings]
499
+ obsolete_ignored = tracker.unused_fingerprints
498
500
 
499
- Brakeman::Differ.new(new_results, previous_results).diff
501
+ Brakeman::Differ.new(new_results, previous_results).diff.tap do |diff|
502
+ diff[:obsolete] = obsolete_ignored
503
+ end
500
504
  end
501
505
 
502
506
  def self.load_brakeman_dependency name, allow_fail = false
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brakeman
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.1
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Collins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-21 00:00:00.000000000 Z
11
+ date: 2023-07-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Brakeman detects security vulnerabilities in Ruby on Rails applications
14
14
  via static analysis.
@@ -131,10 +131,9 @@ files:
131
131
  - bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/terminal/unix_stty.rb
132
132
  - bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/version.rb
133
133
  - bundle/ruby/3.1.0/gems/highline-2.1.0/lib/highline/wrapper.rb
134
- - bundle/ruby/3.1.0/gems/parallel-1.22.1/MIT-LICENSE.txt
135
- - bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel.rb
136
- - bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb
137
- - bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/version.rb
134
+ - bundle/ruby/3.1.0/gems/parallel-1.23.0/MIT-LICENSE.txt
135
+ - bundle/ruby/3.1.0/gems/parallel-1.23.0/lib/parallel.rb
136
+ - bundle/ruby/3.1.0/gems/parallel-1.23.0/lib/parallel/version.rb
138
137
  - bundle/ruby/3.1.0/gems/rexml-3.2.5/LICENSE.txt
139
138
  - bundle/ruby/3.1.0/gems/rexml-3.2.5/NEWS.md
140
139
  - bundle/ruby/3.1.0/gems/rexml-3.2.5/README.md
@@ -192,57 +191,46 @@ files:
192
191
  - bundle/ruby/3.1.0/gems/ruby2ruby-2.4.4/Manifest.txt
193
192
  - bundle/ruby/3.1.0/gems/ruby2ruby-2.4.4/README.rdoc
194
193
  - bundle/ruby/3.1.0/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb
195
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/History.rdoc
196
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/Manifest.txt
197
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/README.rdoc
198
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/compare/normalize.rb
199
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/debugging.md
200
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/gauntlet.md
201
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/rp_extensions.rb
202
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/rp_stringscanner.rb
203
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby20_parser.rb
204
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby20_parser.y
205
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby21_parser.rb
206
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby21_parser.y
207
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby22_parser.rb
208
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby22_parser.y
209
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby23_parser.rb
210
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby23_parser.y
211
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby24_parser.rb
212
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby24_parser.y
213
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby25_parser.rb
214
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby25_parser.y
215
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby26_parser.rb
216
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby26_parser.y
217
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby27_parser.rb
218
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby27_parser.y
219
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby30_parser.rb
220
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby30_parser.y
221
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby31_parser.rb
222
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby31_parser.y
223
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby3_parser.yy
224
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_lexer.rb
225
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_lexer.rex
226
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_lexer.rex.rb
227
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_lexer_strings.rb
228
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_parser.rb
229
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_parser.yy
230
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/lib/ruby_parser_extras.rb
231
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/tools/munge.rb
232
- - bundle/ruby/3.1.0/gems/ruby_parser-3.19.2/tools/ripper.rb
233
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/History.rdoc
234
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt
235
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/README.rdoc
236
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb
237
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb
238
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y
239
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb
240
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y
241
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb
242
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex
243
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb
244
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb
245
- - bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb
194
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/History.rdoc
195
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/Manifest.txt
196
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/README.rdoc
197
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/compare/normalize.rb
198
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/debugging.md
199
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/gauntlet.md
200
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/rp_extensions.rb
201
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/rp_stringscanner.rb
202
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.rb
203
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby20_parser.y
204
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.rb
205
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby21_parser.y
206
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.rb
207
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby22_parser.y
208
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.rb
209
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby23_parser.y
210
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.rb
211
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby24_parser.y
212
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.rb
213
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby25_parser.y
214
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.rb
215
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby26_parser.y
216
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.rb
217
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby27_parser.y
218
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.rb
219
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby30_parser.y
220
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.rb
221
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby31_parser.y
222
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb
223
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y
224
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy
225
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer.rb
226
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex
227
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer.rex.rb
228
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_lexer_strings.rb
229
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser.rb
230
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser.yy
231
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/lib/ruby_parser_extras.rb
232
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/tools/munge.rb
233
+ - bundle/ruby/3.1.0/gems/ruby_parser-3.20.3/tools/ripper.rb
246
234
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/CHANGES.md
247
235
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/Gemfile
248
236
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/LICENSE.txt
@@ -274,16 +262,16 @@ files:
274
262
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb
275
263
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh
276
264
  - bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec
277
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/History.rdoc
278
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/Manifest.txt
279
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/README.rdoc
280
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/composite_sexp_processor.rb
281
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/pt_testcase.rb
282
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/sexp.rb
283
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/sexp_matcher.rb
284
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/sexp_processor.rb
285
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/strict_sexp.rb
286
- - bundle/ruby/3.1.0/gems/sexp_processor-4.16.1/lib/unique.rb
265
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/History.rdoc
266
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/Manifest.txt
267
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/README.rdoc
268
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/composite_sexp_processor.rb
269
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/pt_testcase.rb
270
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/sexp.rb
271
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/sexp_matcher.rb
272
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/sexp_processor.rb
273
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/strict_sexp.rb
274
+ - bundle/ruby/3.1.0/gems/sexp_processor-4.17.0/lib/unique.rb
287
275
  - bundle/ruby/3.1.0/gems/slim-4.1.0/CHANGES
288
276
  - bundle/ruby/3.1.0/gems/slim-4.1.0/Gemfile
289
277
  - bundle/ruby/3.1.0/gems/slim-4.1.0/LICENSE
@@ -640,7 +628,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
640
628
  requirements:
641
629
  - - ">="
642
630
  - !ruby/object:Gem::Version
643
- version: 2.5.0
631
+ version: 3.0.0
644
632
  required_rubygems_version: !ruby/object:Gem::Requirement
645
633
  requirements:
646
634
  - - ">="
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
- module Parallel
3
- # TODO: inline this method into parallel.rb and kill physical_processor_count in next major release
4
- module ProcessorCount
5
- # Number of processors seen by the OS, used for process scheduling
6
- def processor_count
7
- require 'etc'
8
- @processor_count ||= Integer(ENV['PARALLEL_PROCESSOR_COUNT'] || Etc.nprocessors)
9
- end
10
-
11
- # Number of physical processor cores on the current system.
12
- def physical_processor_count
13
- @physical_processor_count ||= begin
14
- ppc =
15
- case RbConfig::CONFIG["target_os"]
16
- when /darwin[12]/
17
- IO.popen("/usr/sbin/sysctl -n hw.physicalcpu").read.to_i
18
- when /linux/
19
- cores = {} # unique physical ID / core ID combinations
20
- phy = 0
21
- File.read("/proc/cpuinfo").scan(/^physical id.*|^core id.*/) do |ln|
22
- if ln.start_with?("physical")
23
- phy = ln[/\d+/]
24
- elsif ln.start_with?("core")
25
- cid = "#{phy}:#{ln[/\d+/]}"
26
- cores[cid] = true unless cores[cid]
27
- end
28
- end
29
- cores.count
30
- when /mswin|mingw/
31
- require 'win32ole'
32
- result_set = WIN32OLE.connect("winmgmts://").ExecQuery(
33
- "select NumberOfCores from Win32_Processor"
34
- )
35
- result_set.to_enum.collect(&:NumberOfCores).reduce(:+)
36
- else
37
- processor_count
38
- end
39
- # fall back to logical count if physical info is invalid
40
- ppc > 0 ? ppc : processor_count
41
- end
42
- end
43
- end
44
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- module Parallel
3
- VERSION = Version = '1.22.1' # rubocop:disable Naming/ConstantName
4
- end
@@ -1,6 +0,0 @@
1
- === 1.0.0 / 2019-03-11
2
-
3
- * 1 major enhancement
4
-
5
- * Birthday!
6
-
@@ -1,19 +0,0 @@
1
- .autotest
2
- History.rdoc
3
- Manifest.txt
4
- README.rdoc
5
- Rakefile
6
- lib/ruby_parser/legacy.rb
7
- lib/ruby_parser/legacy/ruby18_parser.rb
8
- lib/ruby_parser/legacy/ruby18_parser.y
9
- lib/ruby_parser/legacy/ruby19_parser.rb
10
- lib/ruby_parser/legacy/ruby19_parser.y
11
- lib/ruby_parser/legacy/ruby_lexer.rb
12
- lib/ruby_parser/legacy/ruby_lexer.rex
13
- lib/ruby_parser/legacy/ruby_lexer.rex.rb
14
- lib/ruby_parser/legacy/ruby_parser.rb
15
- lib/ruby_parser/legacy/ruby_parser_extras.rb
16
- test/ruby_parser/test_legacy.rb
17
- test/ruby_parser/test_ruby_lexer.rb
18
- test/ruby_parser/test_ruby_parser.rb
19
- test/ruby_parser/test_ruby_parser_extras.rb
@@ -1,54 +0,0 @@
1
- = legacy
2
-
3
- home :: https://github.com/zenspider/ruby_parser-legacy
4
- rdoc :: http://docs.seattlerb.org/ruby_parser-legacy
5
-
6
- == DESCRIPTION:
7
-
8
- ruby_parser-legacy includes the ruby 1.8 and 1.9 parsers from
9
- ruby_parser (now removed) and plugs them into the existing system.
10
-
11
- == FEATURES/PROBLEMS:
12
-
13
- * Drop in compatibility via one require
14
-
15
- == SYNOPSIS:
16
-
17
- require "ruby_parser/legacy"
18
-
19
- rp = RubyParser.new
20
- rp.parse File.read "very_old_ruby.rb"
21
- # ... as usual ...
22
-
23
- == REQUIREMENTS:
24
-
25
- * ruby_parser 3.13+
26
-
27
- == INSTALL:
28
-
29
- * [sudo] gem install ruby_parser-legacy
30
-
31
- == LICENSE:
32
-
33
- (The MIT License)
34
-
35
- Copyright (c) Ryan Davis, seattle.rb
36
-
37
- Permission is hereby granted, free of charge, to any person obtaining
38
- a copy of this software and associated documentation files (the
39
- 'Software'), to deal in the Software without restriction, including
40
- without limitation the rights to use, copy, modify, merge, publish,
41
- distribute, sublicense, and/or sell copies of the Software, and to
42
- permit persons to whom the Software is furnished to do so, subject to
43
- the following conditions:
44
-
45
- The above copyright notice and this permission notice shall be
46
- included in all copies or substantial portions of the Software.
47
-
48
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
49
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
50
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
51
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
52
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
53
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
54
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.