Sha256: 9522a1cb03ec6ff0a41de54e3e8fd2139a104a256143c3b2623a83114dab9271
Contents?: true
Size: 576 Bytes
Versions: 1127
Compression:
Stored size: 576 Bytes
Contents
# frozen_string_literal: true module Playbook class KitResolver def self.resolve(*args) @resolver ||= new @resolver.resolve(*args) end 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 def resolve(kit_name) @cache[kit_name].safe_constantize end end end
Version data entries
1,127 entries across 1,127 versions & 1 rubygems