module FactoryBotCache

Constants

VERSION

Public Instance Methods

caches() click to toggle source
# File lib/factory_bot_cache.rb, line 18
def caches
  @caches ||= {}
end
clear() click to toggle source
# File lib/factory_bot_cache.rb, line 8
def clear
  @caches = nil
end
id_map_of(base_name) click to toggle source

@return [Proc] a Proc which returns mapped id for given argument

# File lib/factory_bot_cache.rb, line 30
def id_map_of(base_name)
  lambda{|key| of(base_name)[key].id }
end
naming_rules() click to toggle source
# File lib/factory_bot_cache.rb, line 12
def naming_rules
  @naming_rules ||= Hash.new do |hash, base_name|
    hash[base_name] = ->(key){ "#{base_name}_#{key}" }
  end
end
of(base_name) click to toggle source
# File lib/factory_bot_cache.rb, line 22
def of(base_name)
  caches[base_name.to_sym] ||= Hash.new do |hash, key|
    naming_rule = naming_rules[base_name.to_sym]
    hash[key] = FactoryBot.create( naming_rule[key] )
  end
end