Class: RailsAiContext::Introspectors::SecurityIntrospector
- Inherits:
-
Object
- Object
- RailsAiContext::Introspectors::SecurityIntrospector
- Defined in:
- lib/rails_ai_context/introspectors/security_introspector.rb
Overview
Inspects Rails security configuration NOT already covered by ‘auth_introspector` (Devise/Pundit/etc). Captures the framework-level controls: CSRF, force_ssl, HSTS, host_authorization, PermissionsPolicy, ContentSecurityPolicy directives, cookie config, browser-version gates. Covers RAILS_NERVOUS_SYSTEM.md §32 (Security layer).
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(app) ⇒ SecurityIntrospector
constructor
A new instance of SecurityIntrospector.
Constructor Details
#initialize(app) ⇒ SecurityIntrospector
Returns a new instance of SecurityIntrospector.
13 14 15 |
# File 'lib/rails_ai_context/introspectors/security_introspector.rb', line 13 def initialize(app) @app = app end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
11 12 13 |
# File 'lib/rails_ai_context/introspectors/security_introspector.rb', line 11 def app @app end |
Instance Method Details
#call ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rails_ai_context/introspectors/security_introspector.rb', line 17 def call { force_ssl: !!app.config.force_ssl, ssl_options: , host_authorization: , content_security_policy: extract_csp, permissions_policy: , csrf: extract_csrf, cookies: , allow_browser: extract_allow_browser, signed_global_id: extract_signed_gid } rescue => e $stderr.puts "[rails-ai-context] SecurityIntrospector#call failed: #{e.}" if ENV["DEBUG"] { error: e. } end |