Exception: Textus::WriteForbidden

Inherits:
Error
  • Object
show all
Defined in:
lib/textus/errors.rb

Instance Attribute Summary

Attributes inherited from Error

#code

Instance Method Summary collapse

Methods inherited from Error

#details, #exit_code, #hint, #to_envelope

Constructor Details

#initialize(k, z, verb: nil, holders: nil) ⇒ WriteForbidden

Returns a new instance of WriteForbidden.



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/textus/errors.rb', line 101

def initialize(k, z, verb: nil, holders: nil)
  holders_str =
    if holders && !holders.empty?
      holders.join(", ")
    else
      "no declared role"
    end
  details = { "key" => k, "lane" => z }
  details["verb"] = verb if verb
  details["holders"] = holders if holders
  super(
    "write_forbidden",
    "writing '#{k}' (zone '#{z}') needs capability '#{verb}'",
    details: details,
    hint: "held by: #{holders_str}; pass --as=<role>",
  )
end