Sha256: 6382590d5d282a2ba137f780c1e6cf785877ebfa295c08e58179b1c960dad20e

Contents?: true

Size: 749 Bytes

Versions: 38

Compression:

Stored size: 749 Bytes

Contents

require_relative './../../external_lib/singleton'

class NamespaceCache
  include Singleton

  attr_accessor :namespace_cache

  def initialize
    @namespace_cache = []
  end

  def cache_namespace(namespace_regex)
    @namespace_cache << namespace_regex
  end

  def is_namespace_cache_empty?
    @namespace_cache.empty?
  end

  def is_type_allowed(type_to_check)
    if type_to_check.is_a?(Module)
      name_to_check = type_to_check.name
    else
      name_to_check = "#{type_to_check.class.name}"
    end

    @namespace_cache.any? do |pattern|
      /#{pattern}/.match?(name_to_check)
    end
  end

def get_cached_namespaces
  @namespace_cache
end

def clear_cache
  @namespace_cache.clear
  0
end
end

Version data entries

38 entries across 19 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.8 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.8 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.7 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.7 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.6 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.6 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.5 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.5 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/core/namespace_cache/namespace_cache.rb