Sha256: c5b16c2bbb9738cb4501bf3859a35d6cc768907b0c633ffede2535f19f521c8d

Contents?: true

Size: 810 Bytes

Versions: 5

Compression:

Stored size: 810 Bytes

Contents

# frozen_string_literal: true

require "factory_bot"
begin
  require "factory_bot_rails"
rescue LoadError
end

module SolidusPromotions
  module TestingSupport
    module FactoryBot
      SEQUENCES = ["#{::SolidusPromotions::Engine.root}/lib/solidus_promotions/testing_support/sequences.rb"]
      FACTORIES = Dir["#{::SolidusPromotions::Engine.root}/lib/solidus_promotions/testing_support/factories/**/*_factory.rb"].sort
      PATHS = SEQUENCES + FACTORIES

      def self.definition_file_paths
        @paths ||= PATHS.map { |path| path.sub(/.rb\z/, "") }
      end

      def self.add_definitions!
        ::FactoryBot.definition_file_paths.unshift(*definition_file_paths).uniq!
      end

      def self.add_paths_and_load!
        add_definitions!
        ::FactoryBot.reload
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
solidus_promotions-4.5.1 lib/solidus_promotions/testing_support/factory_bot.rb
solidus_promotions-4.5.0 lib/solidus_promotions/testing_support/factory_bot.rb
solidus_promotions-4.4.2 lib/solidus_promotions/testing_support/factory_bot.rb
solidus_promotions-4.4.1 lib/solidus_promotions/testing_support/factory_bot.rb
solidus_promotions-4.4.0 lib/solidus_promotions/testing_support/factory_bot.rb