Module: FactoryTrace
- Defined in:
- lib/factory_trace.rb,
lib/factory_trace/tracker.rb,
lib/factory_trace/version.rb,
lib/factory_trace/configuration.rb,
lib/factory_trace/helpers/caller.rb,
lib/factory_trace/writers/writer.rb,
lib/factory_trace/fixture_tracker.rb,
lib/factory_trace/structures/trait.rb,
lib/factory_trace/helpers/converter.rb,
lib/factory_trace/helpers/statusable.rb,
lib/factory_trace/monkey_patches/dsl.rb,
lib/factory_trace/structures/factory.rb,
lib/factory_trace/monkey_patches/trait.rb,
lib/factory_trace/readers/trace_reader.rb,
lib/factory_trace/writers/trace_writer.rb,
lib/factory_trace/structures/collection.rb,
lib/factory_trace/writers/report_writer.rb,
lib/factory_trace/monkey_patches/factory.rb,
lib/factory_trace/processors/find_unused.rb,
lib/factory_trace/preprocessors/extract_used.rb,
lib/factory_trace/monkey_patches/monkey_patches.rb,
lib/factory_trace/preprocessors/extract_defined.rb,
lib/factory_trace/monkey_patches/definition_proxy.rb,
lib/factory_trace/preprocessors/extract_defined_fixtures.rb
Defined Under Namespace
Modules: Helpers, MonkeyPatches, Preprocessors, Processors, Readers, Structures, Writers
Classes: Configuration, FixtureTracker, Tracker
Constant Summary
collapse
- VERSION =
"3.0.1"
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
79
80
81
|
# File 'lib/factory_trace.rb', line 79
def configuration
@configuration ||= Configuration.new
end
|
75
76
77
|
# File 'lib/factory_trace.rb', line 75
def configure
yield(configuration)
end
|
.factory_bot_register ⇒ Object
83
84
85
|
# File 'lib/factory_trace.rb', line 83
def factory_bot_register
@factory_bot_register ||= (FactoryBot::VERSION >= "5.1.0") ? FactoryBot::Internal : FactoryBot
end
|
.mix(fixtures, factory_bot) ⇒ Object
68
69
70
71
72
73
|
# File 'lib/factory_trace.rb', line 68
def mix(fixtures, factory_bot)
{}.tap do |result|
result[:fixtures] = fixtures.to_h if fixtures?
result[:factory_bot] = factory_bot.to_h if factory_bot?
end
end
|
.start ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/factory_trace.rb', line 44
def start
return unless configuration.enabled
trace_definitions! if configuration.trace_definition?
tracker.track! if factory_bot?
fixture_tracker.track! if fixtures?
end
|
.stop ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/factory_trace.rb', line 52
def stop
return unless configuration.enabled
FactoryBot.reload if factory_bot?
if configuration.mode?(:full)
writer = Writers::ReportWriter.new(configuration.out, configuration)
writer.write(Processors::FindUnused.call(defined, used), kind: :factory_bot) if factory_bot?
writer.write(Processors::FindUnused.call(defined_fixtures, used_fixtures), kind: :fixtures) if fixtures?
elsif configuration.mode?(:trace_only)
writer = Writers::TraceWriter.new(configuration.out, configuration)
writer.write(mix(defined_fixtures, defined), mix(used_fixtures, used))
end
end
|