class Hat::TypeKeyResolver

Attributes

cache[R]

Public Class Methods

new() click to toggle source
# File lib/hat/type_key_resolver.rb, line 7
def initialize
  @cache = {}
end

Public Instance Methods

for_class(klass) click to toggle source
# File lib/hat/type_key_resolver.rb, line 11
def for_class(klass)
  class_name = klass.name
  cache[class_name] || resolve_and_store_type_key_for(class_name)
end

Private Instance Methods

resolve_and_store_type_key_for(class_name) click to toggle source
# File lib/hat/type_key_resolver.rb, line 20
def resolve_and_store_type_key_for(class_name)
  type_key = class_name.underscore.pluralize
  cache[class_name] = type_key
  type_key
end