veracode 1.1.5 → 1.1.6

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: 37b1dcba1a6fdef908b9fa09163803ffa0ba23628ff38df4332fd493563e6188
4
- data.tar.gz: 5f483a6af098af454f785f676f6f7903f4b05aefef51a202cc0e5fd7ae779a97
3
+ metadata.gz: 5cd6b5054a777beb3edbe568783105295ef5d2aba60403bc80afee04a53b3348
4
+ data.tar.gz: 3c47c2749ce2038a316571e9f529b47ad0f19bdb3dcf45658783ad38e8783cfe
5
5
  SHA512:
6
- metadata.gz: b8bc512ac4a431b7f77dabd12b4a703fbc93faf112db48d0c5782c3555a6f113ce0cbbaab25db645807ab5cae83afd28faf9acf80b31137dba784a885e7d69ca
7
- data.tar.gz: 3b5e57faad8593402d64558d77750abaf498efe30654e14a8a17ca1646868b60ec455cc077cd886d109a1fafb80672e4aa74cc79f13124df849cf279101e675d
6
+ metadata.gz: 0240d159fe34cb8516a19b1ec8e5cb0920dd5dcd777606a2dc7ce3553367d925424781f42a99e1a5b65d297a45a16a3196cb35db019673d51c45921e0abbd117
7
+ data.tar.gz: ec7c3e0a1d0f3350c6cdd6f10f5c7200469598a05ccee43453ac432082894ea7be8ee203531159045048bfebb383679f5694db38554ee85fbd4753e766cea360
@@ -1,4 +1,4 @@
1
1
  module Veracode
2
- VERSION = '1.1.5'
2
+ VERSION = '1.1.6'
3
3
  ARCHIVE_VERSION = '2020-06-29'
4
4
  end
data/lib/veracode.rb CHANGED
@@ -292,6 +292,7 @@ module Veracode
292
292
 
293
293
  def self.safe_name(o)
294
294
  begin
295
+ restore_original_class_method(o)
295
296
  case
296
297
  when o == ActiveSupport::TimeWithZone
297
298
  "ActiveSupport::TimeWithZone"
@@ -317,6 +318,23 @@ module Veracode
317
318
  "Veracode" #should result in this being dropped from the archive since we can't get a safe name for it
318
319
  end
319
320
  end
321
+
322
+ # Some Ruby devs override the `class` method.
323
+ # This is bad practice but is still done sometimes.
324
+ # For example: https://github.com/faker-ruby/faker/blob/v2.2.1/lib/faker/games/heroes_of_the_storm.rb#L11-L13
325
+ # This messes with our ability to get the class name.
326
+ # So we detect this and if it is overriden we restore the original method from `Kernel`
327
+ def self.restore_original_class_method(obj)
328
+ original_class_method = Kernel.instance_method(:class)
329
+
330
+ class_method_owner = obj.method(:class).owner
331
+
332
+ if class_method_owner != Kernel
333
+ obj.define_singleton_method(:class) do
334
+ original_class_method.bind(self).call
335
+ end
336
+ end
337
+ end
320
338
 
321
339
  def self.quote(o)
322
340
  o.to_s.dump
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veracode
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Veracode
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-16 00:00:00.000000000 Z
11
+ date: 2024-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip