Sha256: 9522a1cb03ec6ff0a41de54e3e8fd2139a104a256143c3b2623a83114dab9271

Contents?: true

Size: 576 Bytes

Versions: 1157

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,157 entries across 1,157 versions & 1 rubygems

Version Path
playbook_ui-10.6.2.pre.alpha.dep lib/playbook/kit_resolver.rb
playbook_ui-10.6.1.pre.alpha1 lib/playbook/kit_resolver.rb
playbook_ui-10.6.0 lib/playbook/kit_resolver.rb
playbook_ui-10.5.0 lib/playbook/kit_resolver.rb
playbook_ui-10.4.0 lib/playbook/kit_resolver.rb
playbook_ui-10.3.0 lib/playbook/kit_resolver.rb
playbook_ui-10.2.1.alpha.sisensefix lib/playbook/kit_resolver.rb
playbook_ui-10.2.1 lib/playbook/kit_resolver.rb
playbook_ui-10.2.0 lib/playbook/kit_resolver.rb
playbook_ui-10.1.0 lib/playbook/kit_resolver.rb
playbook_ui-10.0.3.pre.alpha.walkthrough2 lib/playbook/kit_resolver.rb
playbook_ui-10.0.3.pre.alpha.walkthrough lib/playbook/kit_resolver.rb
playbook_ui-10.0.1.alpha.railscusticon lib/playbook/kit_resolver.rb
playbook_ui-10.0.2.pre.alpha.pre.iconfix lib/playbook/kit_resolver.rb
playbook_ui-10.0.1.alpha.rtflexfix lib/playbook/kit_resolver.rb
playbook_ui-10.0.0.pre.alphafonts lib/playbook/kit_resolver.rb
playbook_ui-10.0.1 lib/playbook/kit_resolver.rb
playbook_ui-10.0.0 lib/playbook/kit_resolver.rb
playbook_ui-9.19.0.pre.alpha.pre.fonts2 lib/playbook/kit_resolver.rb
playbook_ui-9.19.0 lib/playbook/kit_resolver.rb