Sha256: 516a3380e4c4bd6fee88b27a81abaec5f543f2a74262df00561a92ef7379c586

Contents?: true

Size: 961 Bytes

Versions: 16

Compression:

Stored size: 961 Bytes

Contents

require "jsduck/tag_registry"

module JsDuck
  module Js

    # Access to Ext.define-related Tag configs.
    class ExtDefine
      class << self

        # Default values for class config when Ext.define is encountered.
        def defaults
          return @defaults if @defaults

          @defaults = {}
          TagRegistry.tags.each do |tag|
            if tag.ext_define_default
              @defaults.merge!(tag.ext_define_default)
            end
          end
          @defaults
        end

        # Accesses tag by Ext.define pattern
        def get_tag_by_pattern(name)
          patterns[name]
        end

        private

        def patterns
          return @patterns if @patterns

          @patterns = {}
          TagRegistry.tags.each do |tag|
            Array(tag.ext_define_pattern).each do |pattern|
              @patterns[pattern] = tag
            end
          end
          @patterns
        end

      end
    end

  end
end

Version data entries

16 entries across 16 versions & 3 rubygems

Version Path
solvas-jsduck-6.0.0.30539 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.9571 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.6154 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.4021 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.2554 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.1891 lib/jsduck/js/ext_define.rb
solvas-jsduck-6.0.0.beta.1888 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.10 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.9 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.8 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.7 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.5 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.4 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.3 lib/jsduck/js/ext_define.rb
jsduck-troopjs-0.0.1 lib/jsduck/js/ext_define.rb
jsduck-6.0.0beta lib/jsduck/js/ext_define.rb