class AngularSprinkles::KeyGenerator

Public Class Methods

new(args) click to toggle source
# File lib/angular_sprinkles/key_generator.rb, line 3
def initialize(args)
  @counter = args.fetch(:counter)
  @cache = args.fetch(:cache)
end

Public Instance Methods

call(object) click to toggle source
# File lib/angular_sprinkles/key_generator.rb, line 8
def call(object)
  return @cache.get(object) if @cache.set?(object)

  klass = "#{object.class}".gsub("::", "__")
  count = @counter.inc(klass)
  generated_key = "#{klass}_#{count}"

  @cache.set(object, generated_key)

  generated_key
end