Class: Slidict::PresentationMethodRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/slidict/presentation_method.rb

Constant Summary collapse

BUILTIN_GLOB =
File.expand_path("../../data/slidict/methods/*.yml", __dir__)
PLUGIN_GLOB =
"slidict/methods/*.yml"

Instance Method Summary collapse

Constructor Details

#initialize(paths: nil, include_plugins: true) ⇒ PresentationMethodRegistry

Returns a new instance of PresentationMethodRegistry.



79
80
81
# File 'lib/slidict/presentation_method.rb', line 79

def initialize(paths: nil, include_plugins: true)
  @paths = paths || default_paths(include_plugins: include_plugins)
end

Instance Method Details

#allObject



83
84
85
# File 'lib/slidict/presentation_method.rb', line 83

def all
  @all ||= @paths.sort.map { |path| PresentationMethod.load_file(path) }.sort_by(&:id)
end

#fetch(id) ⇒ Object



91
92
93
# File 'lib/slidict/presentation_method.rb', line 91

def fetch(id)
  find(id) || raise(ArgumentError, "unknown presentation method #{id}")
end

#find(id) ⇒ Object



87
88
89
# File 'lib/slidict/presentation_method.rb', line 87

def find(id)
  all.find { |method| method.id == id.to_s }
end