Exception: AtlasRb::ForbiddenError
- Defined in:
- lib/atlas_rb/errors.rb
Overview
Scoped to the re-parent / linked-member write paths, the Compilation
surface, and the container-create endpoints — 403s on other endpoints
still surface as raw responses for the caller's own rescue layer,
unchanged.
Raised when Atlas refuses a re-parent, linked-member, Compilation, or
container-create request with an HTTP 403, whose envelope is
{ "error", "action", "subject" }. Lets callers distinguish "you may
not do this" from a structural rejection (ReparentError /
LinkedMemberError / CompilationError) or a not-found.
On a create the action is create_child and the subject is the parent
container's class: the caller holds no edit rights on the container the new
child would land in.
Instance Attribute Summary collapse
-
#action ⇒ String?
readonly
The action that was forbidden (e.g.
"reparent"). -
#code ⇒ String?
readonly
The envelope's
errorvalue. -
#subject ⇒ String?
readonly
The subject (resource) the action was forbidden on.
Instance Method Summary collapse
-
#initialize(message, code: nil, action: nil, subject: nil) ⇒ ForbiddenError
constructor
A new instance of ForbiddenError.
Constructor Details
#initialize(message, code: nil, action: nil, subject: nil) ⇒ ForbiddenError
Returns a new instance of ForbiddenError.
270 271 272 273 274 275 |
# File 'lib/atlas_rb/errors.rb', line 270 def initialize(, code: nil, action: nil, subject: nil) super() @code = code @action = action @subject = subject end |
Instance Attribute Details
#action ⇒ String? (readonly)
Returns the action that was forbidden (e.g. "reparent").
261 262 263 |
# File 'lib/atlas_rb/errors.rb', line 261 def action @action end |
#code ⇒ String? (readonly)
Returns the envelope's error value.
258 259 260 |
# File 'lib/atlas_rb/errors.rb', line 258 def code @code end |
#subject ⇒ String? (readonly)
Returns the subject (resource) the action was forbidden on.
264 265 266 |
# File 'lib/atlas_rb/errors.rb', line 264 def subject @subject end |