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-9.3.0.alpha.inline3 lib/playbook/kit_resolver.rb
playbook_ui-9.3.0.pre.alpha.password.strength.2 lib/playbook/kit_resolver.rb
playbook_ui-9.3.0.alpha.inline2 lib/playbook/kit_resolver.rb
playbook_ui-9.3.0.alpha.inline1 lib/playbook/kit_resolver.rb
playbook_ui-9.3.0.pre.alpha.password.strength.1 lib/playbook/kit_resolver.rb
playbook_ui-9.3.0 lib/playbook/kit_resolver.rb
playbook_ui-9.2.2.pre.alpha.margin lib/playbook/kit_resolver.rb
playbook_ui-9.2.2 lib/playbook/kit_resolver.rb
playbook_ui-9.2.1 lib/playbook/kit_resolver.rb
playbook_ui-9.2.0 lib/playbook/kit_resolver.rb
playbook_ui-9.1.0 lib/playbook/kit_resolver.rb
playbook_ui-9.0.0 lib/playbook/kit_resolver.rb
playbook_ui-8.3.0.alpha.select.pre.margin lib/playbook/kit_resolver.rb
playbook_ui-8.3.0 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.pre.alpha5 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.pre.alpha4 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.alpha.iconacc lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.pre.alpha3 lib/playbook/kit_resolver.rb
playbook_ui-8.2.1.pre.alpha2 lib/playbook/kit_resolver.rb
playbook_ui-8.3.0.deps2 lib/playbook/kit_resolver.rb