class Riffer::Rig::Skills::Sources
Upstream candidate: rifferโs Skills::Config takes a single backend, so the sources every extension registers are merged into one here.
Public Class Methods
(Array[Riffer::Skills::Backend] backends) → void
Source
# File lib/riffer/rig/skills/sources.rb, line 10 def initialize(backends) super() @backends = backends end
@rbs backends: Array @rbs return: void
Calls superclass method
Public Instance Methods
() → Array[Riffer::Skills::Frontmatter]
Source
# File lib/riffer/rig/skills/sources.rb, line 16 def list_skills @backends.flat_map(&:list_skills).uniq(&:name) end
@rbs return: Array
(String name) → String
Source
# File lib/riffer/rig/skills/sources.rb, line 22 def read_skill(name) backend = @backends.find { |source| source.list_skills.any? { |skill| skill.name == name } } raise Riffer::ArgumentError, "Skill not found: '#{name}'" unless backend backend.read_skill(name) end
@rbs name: String @rbs return: String