Class: Suma::LinkValidator::Step::Entity
- Inherits:
-
Object
- Object
- Suma::LinkValidator::Step::Entity
- Includes:
- Failure
- Defined in:
- lib/suma/link_validator/step.rb
Overview
Navigates one path segment from an Entity by attribute name.
Class Method Summary collapse
Instance Method Summary collapse
Methods included from Failure
Class Method Details
.handles?(node) ⇒ Boolean
37 38 39 |
# File 'lib/suma/link_validator/step.rb', line 37 def self.handles?(node) node.is_a?(Expressir::Model::Declarations::Entity) end |
Instance Method Details
#navigate(node, part, context) ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'lib/suma/link_validator/step.rb', line 41 def navigate(node, part, context) attribute = node.attributes&.find { |a| a.id.downcase == part.downcase } unless attribute return failure("Attribute '#{part}' not found in entity '#{context.path}'", context) end attribute end |