class Troy::ExtensionMatcher
def default(&block)
def default(&block) matchers["default"] = block self end
def initialize(path)
def initialize(path) @path = path @matchers = {} end
def match
def match matchers.each do |ext, handler| return handler.call if File.extname(path) == ext end matchers["default"]&.call end
def on(extension, &block)
def on(extension, &block) matchers[".#{extension}"] = block self end