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

Version Path
playbook_ui-14.11.1.pre.alpha.PLAY1720phonenumberinputformatAsYouType5377 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.play17725374 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.play17725372 lib/playbook/kit_resolver.rb
playbook_ui-14.12.0.pre.rc.4 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.hfhbrakemanplaybook5370 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.responsivetablerails5364 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.responsivetablerails5362 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.PBNTR769sticky5359 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.PBNTR573datepickerinvestigation5355 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5341 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5340 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1.pre.alpha.PLAY1750pbcontenttagkitbutton5339 lib/playbook/kit_resolver.rb
playbook_ui-14.12.0.pre.rc.3 lib/playbook/kit_resolver.rb
playbook_ui-14.12.0.pre.rc.2 lib/playbook/kit_resolver.rb
playbook_ui-14.12.0.pre.rc.1 lib/playbook/kit_resolver.rb
playbook_ui-14.12.0.pre.rc.0 lib/playbook/kit_resolver.rb
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5315 lib/playbook/kit_resolver.rb
playbook_ui-14.10.0.pre.alpha.PLAY1774timelinelabelstepspacing5314 lib/playbook/kit_resolver.rb
playbook_ui-14.10.0.pre.alpha.PLAY1750pbcontenttagkitbutton5308 lib/playbook/kit_resolver.rb
playbook_ui-14.11.1 lib/playbook/kit_resolver.rb