Class: Guardrails::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/guardrails/configuration.rb

Overview

Ruby-level configuration object, intended for ‘config/initializers/ guardrails.rb` in embedded (in-Gemfile) installs:

Guardrails.configure do |c|
  c.visual_diff.enabled    = true
  c.visual_diff.threshold  = 0.02   # tolerate up to 2% mismatch
  c.visual_diff.snap_diff_dir = "spec/screenshots"
end

Precedence for the ‘visual_diff` section (highest → lowest):

1. Environment variables (`VISUAL_DIFF=1`, `VISUAL_DIFF_DIR=…`,
   `VISUAL_DIFF_THRESHOLD=…` — same env vars sidecar-mode users
   already rely on)
2. `Guardrails.configure` block (embedded-mode initializer)
3. Built-in defaults (`enabled: false`, `adapter: :snap_diff`,
   `snap_diff_dir: "doc/screenshots"`, `threshold: 0.0`)

‘guardrails.yml` does NOT participate in this object’s precedence yet — that’s how existing detectors (Audit, Tokens, etc.) read their config, and migrating them onto ‘Guardrails::Configuration` is a separate refactor not in 0.8.0 scope.

In 0.8.0 the only section is ‘visual_diff`. Existing detectors continue using their constructor-injected configuration + yml access pattern.

Defined Under Namespace

Classes: VisualDiffConfig

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



33
34
35
# File 'lib/guardrails/configuration.rb', line 33

def initialize
  @visual_diff = VisualDiffConfig.new
end

Instance Attribute Details

#visual_diffObject (readonly)

Returns the value of attribute visual_diff.



31
32
33
# File 'lib/guardrails/configuration.rb', line 31

def visual_diff
  @visual_diff
end