factory_trace 0.4.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a89ea162c1549be94964cbcdb8e0815c01d7e1b510844d928fde97e9b6f1008
4
- data.tar.gz: 631b6277e162570d9d9fb12e23d60cf87fb1a3f615b8afed208b14f6bfaf5159
3
+ metadata.gz: fc2882cfec07c5a45a8cf464027b593f4e97891b4a959b49a061acec3728bd41
4
+ data.tar.gz: dbcfce3c2e80b177a108f7761477b09f404818cf3794f15ae30b4c1c286ac2a8
5
5
  SHA512:
6
- metadata.gz: ee92060fadd43f146477fc7faeaed89157637b37460f5d84db4565112e3f52d1cbf08fbcac4431243e5e59375530cabe361a977b02fe101bf8d56e88005f5108
7
- data.tar.gz: e60fb845b869986c1400ab1c9803c860e0bdcaa2360d626fb15ec268dfeb24763438a275c50417e3635e729a6a7e527bac36e1f4e165636dcf5b14ab7c934304
6
+ metadata.gz: 06a0383bfda293f51aac40e74c5a45512652832c7911be4ca751da4940d889c99cd442008433addee8040f60e271276579bb5db34c6d668813e53e6e00a8793e
7
+ data.tar.gz: cf7d58dd17a8be295da9aa51acba56c4cfa4ba353055ff5d75bb5d6bead9ce125c99e588c19fc9f5ec25bba9c945557fec15ce86cb1901232fd52e5f43046888
data/exe/factory_trace CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  $LOAD_PATH.unshift("#{__dir__}/../lib")
4
- require 'factory_trace'
5
+ require "factory_trace"
5
6
 
6
7
  fail "You should pass at least one file with traced information.\nYou can generate it using only_trace mode." if ARGV.empty?
7
8
 
@@ -1,12 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  class Configuration
3
5
  attr_accessor :path, :enabled, :color, :mode, :trace_definition
4
6
 
5
7
  def initialize
6
- @enabled = ENV.key?('FB_TRACE') || ENV.key?('FB_TRACE_FILE')
7
- @path = ENV['FB_TRACE_FILE']
8
+ @enabled = ENV.key?("FB_TRACE") || ENV.key?("FB_TRACE_FILE")
9
+ @path = ENV["FB_TRACE_FILE"]
8
10
  @color = path.nil?
9
- @mode = extract_mode(ENV['FB_TRACE']) || :full
11
+ @mode = extract_mode(ENV["FB_TRACE"]) || :full
10
12
  @trace_definition = true
11
13
  end
12
14
 
@@ -15,9 +17,9 @@ module FactoryTrace
15
17
  end
16
18
 
17
19
  def out
18
- return STDOUT unless path
20
+ return $stdout unless path
19
21
 
20
- File.open(path, 'w')
22
+ File.open(path, "w")
21
23
  end
22
24
 
23
25
  def mode?(*args)
@@ -27,7 +29,7 @@ module FactoryTrace
27
29
  private
28
30
 
29
31
  def extract_mode(value)
30
- matcher = value && value.match(/full|trace_only/)
32
+ matcher = value&.match(/full|trace_only/)
31
33
  matcher && matcher[0].to_sym
32
34
  end
33
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Helpers
3
5
  module Caller
@@ -5,7 +7,7 @@ module FactoryTrace
5
7
 
6
8
  # @return [String] file and line where the original method was called
7
9
  def location
8
- location = caller_locations[1]
10
+ location = caller_locations(2..2).first
9
11
 
10
12
  base = Pathname.new(Dir.pwd)
11
13
  method = Pathname.new(location.path)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Helpers
3
5
  module Converter
@@ -32,7 +34,7 @@ module FactoryTrace
32
34
  # @return [Array<String>]
33
35
  def extract_declarations(structure)
34
36
  (structure.definition.declarations.grep(FactoryBot::Declaration::Implicit).map(&:name).map(&:to_s) +
35
- structure.definition.instance_variable_get(:'@base_traits').map(&:to_s)).uniq
37
+ structure.definition.instance_variable_get(:@base_traits).map(&:to_s)).uniq
36
38
  end
37
39
  end
38
40
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Helpers
3
5
  module Statusable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module MonkeyPatches
3
5
  module DefinitionProxy
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module MonkeyPatches
3
5
  module Default
@@ -6,7 +8,7 @@ module FactoryTrace
6
8
  caller_location = options.delete(:caller_location) || Helpers::Caller.location
7
9
  factory = FactoryBot::Factory.new(name, caller_location, options)
8
10
  proxy = FactoryBot::DefinitionProxy.new(factory.definition)
9
- proxy.instance_eval(&block) if block_given?
11
+ proxy.instance_eval(&block) if block
10
12
 
11
13
  REGISTER.register_factory(factory)
12
14
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module MonkeyPatches
3
5
  module Factory
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module MonkeyPatches
3
- REGISTER = FactoryBot::VERSION >= '5.1.0' ? FactoryBot::Internal : FactoryBot
5
+ REGISTER = FactoryBot::VERSION >= "5.1.0" ? FactoryBot::Internal : FactoryBot
4
6
  end
5
7
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module MonkeyPatches
3
5
  module Trait
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Preprocessors
3
5
  class ExtractDefined
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Preprocessors
3
5
  class ExtractUsed
@@ -1,117 +1,120 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Processors
3
5
  class FindUnused
4
- # Finds unused factories and traits
5
- #
6
- # @param [FactoryTrace::Structures::Collection] defined
7
- # @param [FactoryTrace::Structures::Collection] used
8
- #
9
- # @return [Array<Hash>]
10
- def self.call(defined, used)
11
- mark_as_used(defined, used)
12
-
13
- output = []
14
-
15
- defined.factories.each do |factory|
16
- output << append_definition_path({code: :unused, factory_names: factory.names}, factory) unless factory.status
17
-
18
- factory.traits.each do |trait|
19
- output << append_definition_path({code: :unused, factory_names: factory.names, trait_name: trait.name}, trait) unless trait.status
6
+ class << self
7
+ # Finds unused factories and traits
8
+ #
9
+ # @param [FactoryTrace::Structures::Collection] defined
10
+ # @param [FactoryTrace::Structures::Collection] used
11
+ #
12
+ # @return [Array<Hash>]
13
+ def call(defined, used)
14
+ mark_as_used(defined, used)
15
+
16
+ output = []
17
+
18
+ defined.factories.each do |factory|
19
+ output << append_definition_path({code: :unused, factory_names: factory.names}, factory) unless factory.status
20
+
21
+ factory.traits.each do |trait|
22
+ output << append_definition_path({code: :unused, factory_names: factory.names, trait_name: trait.name}, trait) unless trait.status
23
+ end
20
24
  end
21
- end
22
25
 
23
- defined.traits.each do |trait|
24
- output << append_definition_path({code: :unused, trait_name: trait.name}, trait) unless trait.status
25
- end
26
+ defined.traits.each do |trait|
27
+ output << append_definition_path({code: :unused, trait_name: trait.name}, trait) unless trait.status
28
+ end
26
29
 
27
- output.unshift(code: :unused, value: output.size)
28
- output.unshift(code: :used, value: defined.total - (output.size - 1))
30
+ output.unshift(code: :unused, value: output.size)
31
+ output.unshift(code: :used, value: defined.total - (output.size - 1))
29
32
 
30
- output
31
- end
33
+ output
34
+ end
32
35
 
33
- private
36
+ private
34
37
 
35
- # @param [FactoryTrace::Structures::Collection] defined
36
- # @param [FactoryTrace::Structures::Collection] used
37
- def self.mark_as_used(defined, used)
38
- used.factories.each do |used_factory|
39
- defined_factory = defined.find_factory_by_names(used_factory.names)
40
- mark_factory(defined_factory, defined, status: :used)
38
+ # @param [FactoryTrace::Structures::Collection] defined
39
+ # @param [FactoryTrace::Structures::Collection] used
40
+ def mark_as_used(defined, used)
41
+ used.factories.each do |used_factory|
42
+ defined_factory = defined.find_factory_by_names(used_factory.names)
43
+ mark_factory(defined_factory, defined, status: :used)
41
44
 
42
- used_factory.traits.each do |used_trait|
43
- trait_owner, defined_trait = defined_trait_by_name(defined, used_factory, used_trait.name)
44
- mark_trait(defined_trait, trait_owner, defined, status: :used)
45
+ used_factory.traits.each do |used_trait|
46
+ trait_owner, defined_trait = defined_trait_by_name(defined, used_factory, used_trait.name)
47
+ mark_trait(defined_trait, trait_owner, defined, status: :used)
48
+ end
45
49
  end
46
50
  end
47
- end
48
51
 
49
- # @param [FactoryTrace::Structures::Collection] defined
50
- # @param [FactoryTrace::Structures::Factory|nil] factory
51
- # @param [String] trait_name
52
- #
53
- # @return [Array<Object>]
54
- def self.defined_trait_by_name(defined, factory, trait_name)
55
- if factory
56
- possible_owner = defined.find_factory_by_names(factory.names)
57
-
58
- while possible_owner
59
- if (trait = possible_owner.traits.find { |t| t.name == trait_name })
60
- return [possible_owner, trait]
52
+ # @param [FactoryTrace::Structures::Collection] defined
53
+ # @param [FactoryTrace::Structures::Factory|nil] factory
54
+ # @param [String] trait_name
55
+ #
56
+ # @return [Array<Object>]
57
+ def defined_trait_by_name(defined, factory, trait_name)
58
+ if factory
59
+ possible_owner = defined.find_factory_by_names(factory.names)
60
+
61
+ while possible_owner
62
+ if (trait = possible_owner.traits.find { |t| t.name == trait_name })
63
+ return [possible_owner, trait]
64
+ end
65
+ possible_owner = defined.find_factory_by_names([possible_owner.parent_name])
61
66
  end
62
- possible_owner = defined.find_factory_by_names([possible_owner.parent_name])
63
67
  end
64
- end
65
68
 
69
+ [nil, defined.find_trait_by_name(trait_name)]
70
+ end
66
71
 
67
- [nil, defined.find_trait_by_name(trait_name)]
68
- end
69
-
70
- # @param [FactoryTrace::Structures::Factory] factory
71
- # @param [FactoryTrace::Structures::Collection] collection
72
- # @param [Symbol] status
73
- def self.mark_factory(factory, collection, status:)
74
- return if factory.has_prioritized_status?(status)
72
+ # @param [FactoryTrace::Structures::Factory] factory
73
+ # @param [FactoryTrace::Structures::Collection] collection
74
+ # @param [Symbol] status
75
+ def mark_factory(factory, collection, status:)
76
+ return if factory.has_prioritized_status?(status)
75
77
 
76
- factory.status = status
77
- if (parent = collection.find_factory_by_names([factory.parent_name]))
78
- mark_factory(parent, collection, status: :indirectly_used)
78
+ factory.status = status
79
+ if (parent = collection.find_factory_by_names([factory.parent_name]))
80
+ mark_factory(parent, collection, status: :indirectly_used)
81
+ end
82
+ mark_declarations(factory.declaration_names, factory, collection, status: :indirectly_used)
79
83
  end
80
- mark_declarations(factory.declaration_names, factory, collection, status: :indirectly_used)
81
- end
82
84
 
83
- # @param [FactoryTrace::Structures::Trait] trait
84
- # @param [FactoryTrace::Structures::Factory|nil] factory which trait belongs to
85
- # @param [FactoryTrace::Structures::Collection] collection
86
- # @param [Symbol] status
87
- def self.mark_trait(trait, factory, collection, status:)
88
- return if trait.has_prioritized_status?(status)
85
+ # @param [FactoryTrace::Structures::Trait] trait
86
+ # @param [FactoryTrace::Structures::Factory|nil] factory which trait belongs to
87
+ # @param [FactoryTrace::Structures::Collection] collection
88
+ # @param [Symbol] status
89
+ def mark_trait(trait, factory, collection, status:)
90
+ return if trait.has_prioritized_status?(status)
89
91
 
90
- trait.status = status
91
- mark_declarations(trait.declaration_names, factory, collection, status: :indirectly_used)
92
- end
92
+ trait.status = status
93
+ mark_declarations(trait.declaration_names, factory, collection, status: :indirectly_used)
94
+ end
93
95
 
94
- # @param [Array<String>] declaration_names
95
- # @param [FactoryTrace::Structures::Factory|nil] factory
96
- # @param [FactoryTrace::Structures::Collection] collection
97
- # @param [Symbol] status
98
- def self.mark_declarations(declaration_names, factory, collection, status:)
99
- declaration_names.each do |declaration_name|
100
- declaration_factory = collection.find_factory_by_names([declaration_name])
101
- next mark_factory(declaration_factory, collection, status: status) if declaration_factory
102
-
103
- declaration_factory, declaration_trait = defined_trait_by_name(collection, factory, declaration_name)
104
- mark_trait(declaration_trait, declaration_factory, collection, status: status) if declaration_trait
96
+ # @param [Array<String>] declaration_names
97
+ # @param [FactoryTrace::Structures::Factory|nil] factory
98
+ # @param [FactoryTrace::Structures::Collection] collection
99
+ # @param [Symbol] status
100
+ def mark_declarations(declaration_names, factory, collection, status:)
101
+ declaration_names.each do |declaration_name|
102
+ declaration_factory = collection.find_factory_by_names([declaration_name])
103
+ next mark_factory(declaration_factory, collection, status: status) if declaration_factory
104
+
105
+ declaration_factory, declaration_trait = defined_trait_by_name(collection, factory, declaration_name)
106
+ mark_trait(declaration_trait, declaration_factory, collection, status: status) if declaration_trait
107
+ end
105
108
  end
106
- end
107
109
 
108
- # @param [Hash]
109
- # @param [FactoryTrace::Structures::Factory|FactoryTrace::Structures::Trait]
110
- #
111
- # @return [Hash]
112
- def self.append_definition_path(hash, object)
113
- hash[:definition_path] = object.definition_path if object.definition_path
114
- hash
110
+ # @param [Hash]
111
+ # @param [FactoryTrace::Structures::Factory|FactoryTrace::Structures::Trait]
112
+ #
113
+ # @return [Hash]
114
+ def append_definition_path(hash, object)
115
+ hash[:definition_path] = object.definition_path if object.definition_path
116
+ hash
117
+ end
115
118
  end
116
119
  end
117
120
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Readers
3
5
  class TraceReader
@@ -10,7 +12,7 @@ module FactoryTrace
10
12
  result = {defined: FactoryTrace::Structures::Collection.new, used: FactoryTrace::Structures::Collection.new}
11
13
 
12
14
  file_names.each do |file_name|
13
- File.open(file_name, 'r') do |file|
15
+ File.open(file_name, "r") do |file|
14
16
  data = new(file, configuration: configuration).read
15
17
 
16
18
  [:defined, :used].each do |key|
@@ -34,35 +36,35 @@ module FactoryTrace
34
36
  hash = JSON.parse(io.read)
35
37
 
36
38
  {
37
- defined: parse_collection(hash['defined']),
38
- used: parse_collection(hash['used'])
39
+ defined: parse_collection(hash["defined"]),
40
+ used: parse_collection(hash["used"])
39
41
  }
40
42
  end
41
43
 
42
44
  private
43
45
 
44
46
  def parse_trait(hash)
45
- FactoryTrace::Structures::Trait.new(hash['name'], declaration_names: hash['declaration_names'], definition_path: hash['definition_path'])
47
+ FactoryTrace::Structures::Trait.new(hash["name"], declaration_names: hash["declaration_names"], definition_path: hash["definition_path"])
46
48
  end
47
49
 
48
50
  def parse_factory(hash)
49
51
  FactoryTrace::Structures::Factory.new(
50
- hash['names'],
51
- hash['traits'].map(&method(:parse_trait)),
52
- parent_name: hash['parent_name'],
53
- declaration_names: hash['declaration_names'],
54
- definition_path: hash['definition_path']
52
+ hash["names"],
53
+ hash["traits"].map(&method(:parse_trait)),
54
+ parent_name: hash["parent_name"],
55
+ declaration_names: hash["declaration_names"],
56
+ definition_path: hash["definition_path"]
55
57
  )
56
58
  end
57
59
 
58
60
  def parse_collection(hash)
59
61
  collection = FactoryTrace::Structures::Collection.new
60
62
 
61
- hash['factories'].each do |h|
63
+ hash["factories"].each do |h|
62
64
  collection.add(parse_factory(h))
63
65
  end
64
66
 
65
- hash['traits'].each do |h|
67
+ hash["traits"].each do |h|
66
68
  collection.add(parse_trait(h))
67
69
  end
68
70
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Structures
3
5
  class Collection
@@ -69,10 +71,10 @@ module FactoryTrace
69
71
  end
70
72
 
71
73
  # @return [Boolean]
72
- def ==(collection)
73
- return false unless collection.is_a?(FactoryTrace::Structures::Collection)
74
+ def ==(other)
75
+ return false unless other.is_a?(FactoryTrace::Structures::Collection)
74
76
 
75
- factories == collection.factories && traits == collection.traits
77
+ factories == other.factories && traits == other.traits
76
78
  end
77
79
  end
78
80
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Structures
3
5
  class Factory
@@ -39,14 +41,14 @@ module FactoryTrace
39
41
  end
40
42
 
41
43
  # @return [Boolean]
42
- def ==(factory)
43
- return false unless factory.is_a?(FactoryTrace::Structures::Factory)
44
+ def ==(other)
45
+ return false unless other.is_a?(FactoryTrace::Structures::Factory)
44
46
 
45
- names == factory.names &&
46
- traits == factory.traits &&
47
- parent_name == factory.parent_name &&
48
- declaration_names == factory.declaration_names &&
49
- definition_path == factory.definition_path
47
+ names == other.names &&
48
+ traits == other.traits &&
49
+ parent_name == other.parent_name &&
50
+ declaration_names == other.declaration_names &&
51
+ definition_path == other.definition_path
50
52
  end
51
53
  end
52
54
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Structures
3
5
  class Trait
@@ -24,10 +26,10 @@ module FactoryTrace
24
26
  end
25
27
 
26
28
  # @return [Boolean]
27
- def ==(trait)
28
- return false unless trait.is_a?(FactoryTrace::Structures::Trait)
29
+ def ==(other)
30
+ return false unless other.is_a?(FactoryTrace::Structures::Trait)
29
31
 
30
- name == trait.name && declaration_names == trait.declaration_names && definition_path == trait.definition_path
32
+ name == other.name && declaration_names == other.declaration_names && definition_path == other.definition_path
31
33
  end
32
34
  end
33
35
  end
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support"
4
+
1
5
  module FactoryTrace
2
6
  class Tracker
3
7
  attr_reader :storage
@@ -7,7 +11,7 @@ module FactoryTrace
7
11
  end
8
12
 
9
13
  def track!
10
- ActiveSupport::Notifications.subscribe('factory_bot.run_factory') do |_name, _start, _finish, _id, payload|
14
+ ActiveSupport::Notifications.subscribe("factory_bot.run_factory") do |_name, _start, _finish, _id, payload|
11
15
  name = payload[:name].to_s
12
16
  traits = payload[:traits].map(&:to_s)
13
17
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
- VERSION = '0.4.1'
4
+ VERSION = "1.0.0"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Writers
3
5
  class ReportWriter < Writer
@@ -9,8 +11,8 @@ module FactoryTrace
9
11
  }.freeze
10
12
 
11
13
  CODES = {
12
- used: 'used',
13
- unused: 'unused',
14
+ used: "used",
15
+ unused: "unused"
14
16
  }.freeze
15
17
 
16
18
  # @param [Array<Hash>] results
@@ -27,12 +29,11 @@ module FactoryTrace
27
29
  # @param [Hash<Symbol, Object>] result
28
30
  # @param [Symbol] total_color
29
31
  def convert(result, total_color:)
30
- case
31
- when result[:value]
32
+ if result[:value]
32
33
  colorize(total_color, "total number of unique #{humanize_code(result[:code])} factories & traits: #{result[:value]}")
33
- when result[:factory_names] && result[:trait_name]
34
+ elsif result[:factory_names] && result[:trait_name]
34
35
  append_definition_path(result) { "#{humanize_code(result[:code])} trait #{colorize(:blue, result[:trait_name])} of factory #{list(result[:factory_names])}" }
35
- when result[:factory_names]
36
+ elsif result[:factory_names]
36
37
  append_definition_path(result) { "#{humanize_code(result[:code])} factory #{list(result[:factory_names])}" }
37
38
  else
38
39
  append_definition_path(result) { "#{humanize_code(result[:code])} global trait #{colorize(:blue, result[:trait_name])}" }
@@ -57,7 +58,7 @@ module FactoryTrace
57
58
  end
58
59
 
59
60
  def list(elements, color: :blue)
60
- elements.map { |element| colorize(color, element) }.join(', ')
61
+ elements.map { |element| colorize(color, element) }.join(", ")
61
62
  end
62
63
  end
63
64
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Writers
3
5
  class TraceWriter < Writer
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FactoryTrace
2
4
  module Writers
3
5
  class Writer
data/lib/factory_trace.rb CHANGED
@@ -1,38 +1,40 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # External dependencies
2
- require 'factory_bot'
3
- require 'json'
4
- require 'set'
5
- require 'pathname'
4
+ require "factory_bot"
5
+ require "json"
6
+ require "set"
7
+ require "pathname"
6
8
  # Library
7
- require 'factory_trace/configuration'
8
- require 'factory_trace/version'
9
- require 'factory_trace/helpers/converter'
10
- require 'factory_trace/helpers/statusable'
11
- require 'factory_trace/helpers/caller'
12
- require 'factory_trace/tracker'
9
+ require "factory_trace/configuration"
10
+ require "factory_trace/version"
11
+ require "factory_trace/helpers/converter"
12
+ require "factory_trace/helpers/statusable"
13
+ require "factory_trace/helpers/caller"
14
+ require "factory_trace/tracker"
13
15
 
14
- require 'factory_trace/structures/factory'
15
- require 'factory_trace/structures/trait'
16
- require 'factory_trace/structures/collection'
16
+ require "factory_trace/structures/factory"
17
+ require "factory_trace/structures/trait"
18
+ require "factory_trace/structures/collection"
17
19
 
18
- require 'factory_trace/preprocessors/extract_defined'
19
- require 'factory_trace/preprocessors/extract_used'
20
+ require "factory_trace/preprocessors/extract_defined"
21
+ require "factory_trace/preprocessors/extract_used"
20
22
 
21
- require 'factory_trace/processors/find_unused'
23
+ require "factory_trace/processors/find_unused"
22
24
 
23
- require 'factory_trace/readers/trace_reader'
24
- require 'factory_trace/writers/writer'
25
- require 'factory_trace/writers/report_writer'
26
- require 'factory_trace/writers/trace_writer'
25
+ require "factory_trace/readers/trace_reader"
26
+ require "factory_trace/writers/writer"
27
+ require "factory_trace/writers/report_writer"
28
+ require "factory_trace/writers/trace_writer"
27
29
 
28
- require 'factory_trace/monkey_patches/monkey_patches'
29
- require 'factory_trace/monkey_patches/factory'
30
- require 'factory_trace/monkey_patches/trait'
31
- require 'factory_trace/monkey_patches/definition_proxy'
32
- require 'factory_trace/monkey_patches/dsl'
30
+ require "factory_trace/monkey_patches/monkey_patches"
31
+ require "factory_trace/monkey_patches/factory"
32
+ require "factory_trace/monkey_patches/trait"
33
+ require "factory_trace/monkey_patches/definition_proxy"
34
+ require "factory_trace/monkey_patches/dsl"
33
35
 
34
36
  # Integrations
35
- require 'integrations/rspec' if defined?(RSpec::Core)
37
+ require "integrations/rspec" if defined?(RSpec::Core)
36
38
 
37
39
  module FactoryTrace
38
40
  class << self
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  RSpec.configure do |config|
2
4
  config.before(:suite) { FactoryTrace.start }
3
5
  config.after(:suite) { FactoryTrace.stop }
4
6
  end
5
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_trace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - djezzzl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-06 00:00:00.000000000 Z
11
+ date: 2022-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: factory_bot
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec_junit_formatter
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.4'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.4'
69
83
  description:
70
84
  email:
71
85
  - lawliet.djez@gmail.com
@@ -117,8 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
131
  - !ruby/object:Gem::Version
118
132
  version: '0'
119
133
  requirements: []
120
- rubyforge_project:
121
- rubygems_version: 2.7.9
134
+ rubygems_version: 3.1.6
122
135
  signing_key:
123
136
  specification_version: 4
124
137
  summary: Provide an easy way to maintain factories and traits from FactoryBot