Sha256: a0a7bb79309e473e57e6739b9f3bc2b0b6b89bb048dd51e9bb74f5073430e5b3
Contents?: true
Size: 575 Bytes
Versions: 62
Compression:
Stored size: 575 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
62 entries across 62 versions & 1 rubygems