Exception: ViewModel::AccessControl::Composed::NoRequiredConditionsError

Inherits:
ViewModel::AccessControlError show all
Defined in:
lib/view_model/access_control/composed.rb

Overview

Error type when no ‘if` conditions succeed.

Instance Attribute Summary collapse

Attributes inherited from ViewModel::AccessControlError

#detail

Attributes inherited from ViewModel::AbstractErrorWithBlame

#nodes

Instance Method Summary collapse

Methods inherited from ViewModel::AbstractError

#aggregation?, #causes, #code, #detail, #exception, #status, #title, #to_s, #view

Constructor Details

#initialize(nodes, reasons) ⇒ NoRequiredConditionsError

Returns a new instance of NoRequiredConditionsError.



67
68
69
70
# File 'lib/view_model/access_control/composed.rb', line 67

def initialize(nodes, reasons)
  super('Action not permitted because none of the possible conditions were met.', nodes)
  @reasons = reasons
end

Instance Attribute Details

#reasonsObject (readonly)

Returns the value of attribute reasons.



65
66
67
# File 'lib/view_model/access_control/composed.rb', line 65

def reasons
  @reasons
end

Instance Method Details

#merge(other) ⇒ Object



76
77
78
79
# File 'lib/view_model/access_control/composed.rb', line 76

def merge(other)
  NoRequiredConditionsError.new(nodes | other.nodes,
                                Lazily.concat(reasons, other.reasons).uniq)
end

#metaObject



72
73
74
# File 'lib/view_model/access_control/composed.rb', line 72

def meta
  super.merge(conditions: @reasons.to_a)
end