Class: FactoryBurgers::FactoryBotAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/factory_burgers/factory_bot_adapter.rb

Overview

Wrap FactoryBot knowledge, eventually switch on version

Instance Method Summary collapse

Constructor Details

#initializeFactoryBotAdapter

Returns a new instance of FactoryBotAdapter.



4
5
6
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 4

def initialize
  @loaded = false
end

Instance Method Details

#adapterObject



32
33
34
35
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 32

def adapter
  # TODO: support non-v6 versions
  @adapter ||= FactoryBotAdapters::FactoryBotV6.new
end

#ensure_loadedObject



8
9
10
11
12
13
14
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 8

def ensure_loaded
  if !@loaded
    load_factories
    FactoryBurgers.run_initializers
  end
  @loaded = true
end

#factoriesObject



41
42
43
44
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 41

def factories
  ensure_loaded
  adapter.factories
end

#factory_botObject



16
17
18
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 16

def factory_bot
  FactoryBot
end

#load_factoriesObject



37
38
39
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 37

def load_factories
  adapter.load_factories
end

#major_versionObject



28
29
30
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 28

def major_version
  numeric_version.first
end

#numeric_versionObject



24
25
26
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 24

def numeric_version
  verion.split(".").map(&:to_i)
end

#sequencesObject



46
47
48
49
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 46

def sequences
  ensure_loaded
  adapter.sequences
end

#versionObject



20
21
22
# File 'lib/factory_burgers/factory_bot_adapter.rb', line 20

def version
  factory_bot::VERSION
end