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

Version Path
playbook_ui-8.3.0.pre.alpha1 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.pre.alpha1 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1 lib/playbook/kit_resolver.rb
playbook_ui-8.1.3 lib/playbook/kit_resolver.rb
playbook_ui-8.4.0.alpha.dependencies.2 lib/playbook/kit_resolver.rb
playbook_ui-8.4.0.alpha.dependencies.1 lib/playbook/kit_resolver.rb
playbook_ui-8.2.0.pre.alpha4 lib/playbook/kit_resolver.rb
playbook_ui-8.2.0.pre.alpha3 lib/playbook/kit_resolver.rb
playbook_ui-8.2.0 lib/playbook/kit_resolver.rb
playbook_ui-8.1.2 lib/playbook/kit_resolver.rb
playbook_ui-8.1.0.pre.alpha1 lib/playbook/kit_resolver.rb
playbook_ui-8.0.3 lib/playbook/kit_resolver.rb
playbook_ui-8.2.0.pre.alpha2 lib/playbook/kit_resolver.rb
playbook_ui-8.1.1 lib/playbook/kit_resolver.rb
playbook_ui-8.0.2 lib/playbook/kit_resolver.rb
playbook_ui-8.2.0.pre.alpha1 lib/playbook/kit_resolver.rb
playbook_ui-8.1.0 lib/playbook/kit_resolver.rb
playbook_ui-8.0.1 lib/playbook/kit_resolver.rb
playbook_ui-8.0.0 lib/playbook/kit_resolver.rb
playbook_ui-8.0.0.pre.alpha5 lib/playbook/kit_resolver.rb