Module: ArchSpec::Rules::ProtocolEvidence
- Defined in:
- lib/archspec/rules/protocol_rules.rb
Overview
Builds the shared "methods: ..." evidence string for the protocol rules and resolves the classes in a component. Internal helper.
Class Method Summary collapse
Class Method Details
.constants_for(graph, source) ⇒ Object
153 154 155 156 157 158 |
# File 'lib/archspec/rules/protocol_rules.rb', line 153 def constants_for(graph, source) component = graph.components[source] return [] unless component component.constants.flat_map { |name| graph.constants_named(name) }.select(&:class?).uniq(&:name) end |
.for(constant, methods, unresolved) ⇒ Object
160 161 162 163 164 165 |
# File 'lib/archspec/rules/protocol_rules.rb', line 160 def for(constant, methods, unresolved) evidence = "#{constant.name} methods: #{methods.empty? ? '(none)' : methods.to_a.sort.join(', ')}" return evidence if unresolved.empty? "#{evidence}; unresolved ancestors: #{unresolved.to_a.sort.join(', ')}" end |