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
156 157 158 159 160 161 |
# File 'lib/archspec/rules/protocol_rules.rb', line 156 def constants_for(graph, source) component = graph.components[source] return [] unless component graph.constants_for_component(source).select(&:class?).uniq(&:name) end |
.for(constant, methods, unresolved) ⇒ Object
163 164 165 166 167 168 |
# File 'lib/archspec/rules/protocol_rules.rb', line 163 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 |