Class: Bundler::Spinel::Ledger::Verdict
- Inherits:
-
Struct
- Object
- Struct
- Bundler::Spinel::Ledger::Verdict
- Defined in:
- lib/bundler/spinel/ledger.rb
Instance Attribute Summary collapse
-
#at ⇒ Object
Returns the value of attribute at.
-
#gem ⇒ Object
Returns the value of attribute gem.
-
#probe ⇒ Object
Returns the value of attribute probe.
-
#reasons ⇒ Object
Returns the value of attribute reasons.
-
#rev ⇒ Object
Returns the value of attribute rev.
-
#risks ⇒ Object
Returns the value of attribute risks.
-
#verdict ⇒ Object
Returns the value of attribute verdict.
-
#version ⇒ Object
Returns the value of attribute version.
Instance Method Summary collapse
-
#clean? ⇒ Boolean
Compiles clean and no risky dynamic constructs found statically.
-
#loaded? ⇒ Boolean
Compiles AND loads identically under a differential CRuby-vs-Spinel run, but with no behaviour smoke — so silent miscompiles in its logic are still possible.
-
#rejected? ⇒ Boolean
Hard no: will not compile, or compiles to silent no-ops we detected.
-
#risky? ⇒ Boolean
Compiles clean but uses constructs Spinel degrades silently (define_method/eval/…): allowed by default, fails under –strict.
- #to_line ⇒ Object
-
#verified? ⇒ Boolean
Compiles clean AND a behaviour smoke runs identically under CRuby and a Spinel-compiled harness.
Instance Attribute Details
#at ⇒ Object
Returns the value of attribute at
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def at @at end |
#gem ⇒ Object
Returns the value of attribute gem
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def gem @gem end |
#probe ⇒ Object
Returns the value of attribute probe
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def probe @probe end |
#reasons ⇒ Object
Returns the value of attribute reasons
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def reasons @reasons end |
#rev ⇒ Object
Returns the value of attribute rev
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def rev @rev end |
#risks ⇒ Object
Returns the value of attribute risks
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def risks @risks end |
#verdict ⇒ Object
Returns the value of attribute verdict
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def verdict @verdict end |
#version ⇒ Object
Returns the value of attribute version
17 18 19 |
# File 'lib/bundler/spinel/ledger.rb', line 17 def version @version end |
Instance Method Details
#clean? ⇒ Boolean
Compiles clean and no risky dynamic constructs found statically.
24 25 26 |
# File 'lib/bundler/spinel/ledger.rb', line 24 def clean? = verdict == "clean" # Compiles clean but uses constructs Spinel degrades silently # (define_method/eval/…): allowed by default, fails under --strict. |
#loaded? ⇒ Boolean
Compiles AND loads identically under a differential CRuby-vs-Spinel run, but with no behaviour smoke — so silent miscompiles in its logic are still possible. Stronger than ‘clean` (it actually ran), weaker than `verified`. Not trustworthy enough for the curated source on its own.
32 33 34 35 |
# File 'lib/bundler/spinel/ledger.rb', line 32 def loaded? = verdict == "loaded" # Compiles clean AND a behaviour smoke runs identically under CRuby and a # Spinel-compiled harness. The only verdict that earns a whitelist slot / # platform badge — catches the silent miscompiles `loaded` can't. |
#rejected? ⇒ Boolean
Hard no: will not compile, or compiles to silent no-ops we detected.
22 23 |
# File 'lib/bundler/spinel/ledger.rb', line 22 def rejected? = verdict == "rejected" # Compiles clean *and* no risky dynamic constructs found statically. |
#risky? ⇒ Boolean
Compiles clean but uses constructs Spinel degrades silently (define_method/eval/…): allowed by default, fails under –strict.
27 28 29 30 31 |
# File 'lib/bundler/spinel/ledger.rb', line 27 def risky? = verdict == "risky" # Compiles AND loads identically under a differential CRuby-vs-Spinel run, # but with no behaviour smoke — so silent miscompiles in its *logic* are # still possible. Stronger than `clean` (it actually ran), weaker than # `verified`. Not trustworthy enough for the curated source on its own. |
#to_line ⇒ Object
38 |
# File 'lib/bundler/spinel/ledger.rb', line 38 def to_line = JSON.generate(to_h.transform_keys(&:to_s)) |
#verified? ⇒ Boolean
Compiles clean AND a behaviour smoke runs identically under CRuby and a Spinel-compiled harness. The only verdict that earns a whitelist slot / platform badge — catches the silent miscompiles ‘loaded` can’t.
36 |
# File 'lib/bundler/spinel/ledger.rb', line 36 def verified? = verdict == "verified" |