class Playbook::KitResolver

Public Class Methods

new() click to toggle source
# File lib/playbook/kit_resolver.rb, line 10
def initialize
  @cache = Hash.new do |_cache, kit_name|
    is_subkit = kit_name.match(%r{[/\\]})
    folder = is_subkit ? kit_name.split("/")[0] : kit_name
    item = is_subkit ? kit_name.split("/")[-1] : kit_name
    @cache[kit_name] = "Playbook::Pb#{folder.camelize}::#{item.camelize}"
  end
end
resolve(*args) click to toggle source
# File lib/playbook/kit_resolver.rb, line 5
def self.resolve(*args)
  @resolver ||= new
  @resolver.resolve(*args)
end

Public Instance Methods

resolve(kit_name) click to toggle source
# File lib/playbook/kit_resolver.rb, line 19
def resolve(kit_name)
  @cache[kit_name].safe_constantize
end