class ActiveSupport::Dependencies::ClassCache
Public Class Methods
new()
click to toggle source
# File lib/active_support/dependencies.rb, line 622 def initialize @store = Concurrent::Map.new end
Public Instance Methods
clear!()
click to toggle source
# File lib/active_support/dependencies.rb, line 652 def clear! @store.clear end
empty?()
click to toggle source
# File lib/active_support/dependencies.rb, line 626 def empty? @store.empty? end
get(key)
click to toggle source
# File lib/active_support/dependencies.rb, line 634 def get(key) key = key.name if key.respond_to?(:name) @store[key] ||= Inflector.constantize(key) end
Also aliased as: []
key?(key)
click to toggle source
# File lib/active_support/dependencies.rb, line 630 def key?(key) @store.key?(key) end
safe_get(key)
click to toggle source
# File lib/active_support/dependencies.rb, line 640 def safe_get(key) key = key.name if key.respond_to?(:name) @store[key] ||= Inflector.safe_constantize(key) end
store(klass)
click to toggle source
# File lib/active_support/dependencies.rb, line 645 def store(klass) return self unless klass.respond_to?(:name) raise(ArgumentError, "anonymous classes cannot be cached") if klass.name.empty? @store[klass.name] = klass self end