Class: AngularSprinkles::KeyGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/angular_sprinkles/key_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ KeyGenerator

Returns a new instance of KeyGenerator.



3
4
5
6
# File 'lib/angular_sprinkles/key_generator.rb', line 3

def initialize(args)
  @counter = args.fetch(:counter)
  @cache = args.fetch(:cache)
end

Instance Method Details

#call(object) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# 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