Sha256: 05cb5a4fd12fa7dee36f1e2426fa5b52e8821597669574f3f2232d53ceb5639d

Contents?: true

Size: 513 Bytes

Versions: 19

Compression:

Stored size: 513 Bytes

Contents

module FactoryBot
  # @api private
  class EvaluatorClassDefiner
    def initialize(attributes, parent_class)
      @parent_class = parent_class
      @attributes = attributes

      attributes.each do |attribute|
        evaluator_class.define_attribute(attribute.name, &attribute.to_proc)
      end
    end

    def evaluator_class
      @evaluator_class ||= Class.new(@parent_class).tap do |klass|
        klass.attribute_lists ||= []
        klass.attribute_lists += [@attributes]
      end
    end
  end
end

Version data entries

19 entries across 18 versions & 3 rubygems

Version Path
factory_bot-6.5.1 lib/factory_bot/evaluator_class_definer.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/factory_bot-6.5.0/lib/factory_bot/evaluator_class_definer.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/factory_bot-6.5.0/lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.5.0 lib/factory_bot/evaluator_class_definer.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/factory_bot-6.4.6/lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.6 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.5 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.4 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.3 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.2 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.1 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.4.0 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.3.0 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.2.1 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.2.0 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.1.0 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.0.2 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.0.1 lib/factory_bot/evaluator_class_definer.rb
factory_bot-6.0.0 lib/factory_bot/evaluator_class_definer.rb