Class: Olyx::Guardrails::Rails::PolicyFile
- Inherits:
-
Object
- Object
- Olyx::Guardrails::Rails::PolicyFile
- Defined in:
- lib/olyx/guardrails/rails/policy_file.rb
Overview
Safely loads direct or environment-keyed policy YAML without ERB.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(path, environment) ⇒ PolicyFile
constructor
A new instance of PolicyFile.
- #load ⇒ Object
Constructor Details
#initialize(path, environment) ⇒ PolicyFile
Returns a new instance of PolicyFile.
16 17 18 19 |
# File 'lib/olyx/guardrails/rails/policy_file.rb', line 16 def initialize(path, environment) @path = path.to_s @environment = environment.to_s end |
Class Method Details
.load(path, environment:) ⇒ Object
12 13 14 |
# File 'lib/olyx/guardrails/rails/policy_file.rb', line 12 def self.load(path, environment:) new(path, environment).load end |
Instance Method Details
#load ⇒ Object
21 22 23 24 25 |
# File 'lib/olyx/guardrails/rails/policy_file.rb', line 21 def load Policy.from_h(PolicyDocument.new(@path, @environment).call) rescue Errno::ENOENT, Errno::EACCES, Psych::Exception, ArgumentError => error raise PolicyFileError.call(error, @path) end |