module FactoryTrace::Helpers::Converter
Public Instance Methods
extract_declarations(structure)
click to toggle source
@param [FactoryBot::Factory|FactoryBot::Trait]
@return [Array<String>]
# File lib/factory_trace/helpers/converter.rb, line 33 def extract_declarations(structure) (structure.definition.declarations.grep(FactoryBot::Declaration::Implicit).map(&:name).map(&:to_s) + structure.definition.instance_variable_get(:'@base_traits').map(&:to_s)).uniq end
factory(factory)
click to toggle source
@param [FactoryBot::Factory] factory
@return [FactoryTrace::Structures::Factory]
# File lib/factory_trace/helpers/converter.rb, line 20 def factory(factory) FactoryTrace::Structures::Factory.new( factory.names.map(&:to_s), factory.defined_traits.map(&method(:trait)), parent_name: factory.send(:parent).respond_to?(:name) ? factory.send(:parent).name.to_s : nil, declaration_names: extract_declarations(factory), definition_path: (factory.definition_path if factory.respond_to?(:definition_path)) ) end
trait(trait)
click to toggle source
@param [FactoryBot::Trait] trait
@return [FactoryTrace::Structures::Trait]
# File lib/factory_trace/helpers/converter.rb, line 9 def trait(trait) FactoryTrace::Structures::Trait.new( trait.name.to_s, declaration_names: extract_declarations(trait), definition_path: (trait.definition_path if trait.respond_to?(:definition_path)) ) end