Sha256: d9b5cf60f4905c8eab8fa97472dbc1699361621b6cab09156b11182dd3d6a9fc

Contents?: true

Size: 710 Bytes

Versions: 34

Compression:

Stored size: 710 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

34 entries across 17 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.8 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.8 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.7 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.7 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.6 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.6 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.5 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.5 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.2 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.2 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.1 lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb
javonet-ruby-sdk-2.5.1 lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb