Module: TestProf::FactoryDefault::DefaultSyntax

Defined in:
lib/test_prof/factory_default.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#create_default(name, *args, &block) ⇒ Object



148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/test_prof/factory_default.rb', line 148

def create_default(name, *args, &block)
  options = args.extract_options!
  default_options = {}
  default_options[:preserve_traits] = options.delete(:preserve_traits) if options.key?(:preserve_traits)
  default_options[:preserve_attributes] = options.delete(:preserve_attributes) if options.key?(:preserve_attributes)

  obj = TestProf::FactoryBot.create(name, *args, options, &block)

  # Factory with traits
  name = [name, *args] if args.any?

  set_factory_default(name, obj, **default_options)
end

#set_factory_default(name, obj, preserve_traits: FactoryDefault.config.preserve_traits, preserve_attributes: FactoryDefault.config.preserve_attributes, **other) ⇒ Object



162
163
164
165
166
167
168
169
# File 'lib/test_prof/factory_default.rb', line 162

def set_factory_default(name, obj, preserve_traits: FactoryDefault.config.preserve_traits, preserve_attributes: FactoryDefault.config.preserve_attributes, **other)
  FactoryDefault.register(
    name, obj,
    preserve_traits: preserve_traits,
    preserve_attributes: preserve_attributes,
    **other
  )
end

#skip_factory_default(&block) ⇒ Object



171
172
173
# File 'lib/test_prof/factory_default.rb', line 171

def skip_factory_default(&block)
  FactoryDefault.disable!(&block)
end