Module: Axn::Core::SemanticHints::ClassMethods

Defined in:
lib/axn/core/semantic_hints.rb

Instance Method Summary collapse

Instance Method Details

#semantic_hints(*hints) ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
22
23
24
25
26
27
28
# File 'lib/axn/core/semantic_hints.rb', line 19

def semantic_hints(*hints)
  return _semantic_hints if hints.empty?

  hints = hints.map(&:to_sym)
  vocab = Axn::Extensions.config.registered_semantic_hints
  unknown = hints.reject { |h| vocab.include?(h) }
  raise ArgumentError, "Unknown semantic hint(s): #{unknown.map(&:inspect).join(', ')}. Known: #{vocab.to_a.sort.join(', ')}" if unknown.any?

  self._semantic_hints = hints.freeze
end