class SchemaSerializer::Constantizer

Public Class Methods

find(name) click to toggle source
# File lib/schema_serializer/constantizer.rb, line 4
def find(name)
  return cached_serializers.fetch(name) if cached_serializers.has_key?(name)
  return nil                            if non_existent_serializers.include?(name)

  klass = name.safe_constantize
  if klass.present?
    cached_serializers[name] = klass
    return klass
  end

  non_existent_serializers << name
  nil
end
refresh!() click to toggle source
# File lib/schema_serializer/constantizer.rb, line 18
def refresh!
  @non_existent_serializers = []
  @serializers = {}
end

Private Class Methods

cached_serializers() click to toggle source
# File lib/schema_serializer/constantizer.rb, line 29
def cached_serializers
  @cached_serializers ||= {}
end
non_existent_serializers() click to toggle source
# File lib/schema_serializer/constantizer.rb, line 25
def non_existent_serializers
  @non_existent_serializers ||= []
end