diff options
Diffstat (limited to 'qa/qa/factory/dependency.rb')
-rw-r--r-- | qa/qa/factory/dependency.rb | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/qa/qa/factory/dependency.rb b/qa/qa/factory/dependency.rb deleted file mode 100644 index fc5dc82ce29..00000000000 --- a/qa/qa/factory/dependency.rb +++ /dev/null @@ -1,39 +0,0 @@ -module QA - module Factory - class Dependency - Signature = Struct.new(:factory, :block) - - def initialize(name, factory, signature) - @name = name - @factory = factory - @signature = signature - end - - def overridden? - !!@factory.public_send(@name) - end - - def build! - return if overridden? - - Builder.new(@signature, @factory).fabricate!.tap do |product| - @factory.public_send("#{@name}=", product) - end - end - - class Builder - def initialize(signature, caller_factory) - @factory = signature.factory - @block = signature.block - @caller_factory = caller_factory - end - - def fabricate! - @factory.fabricate! do |factory| - @block&.call(factory, @caller_factory) - end - end - end - end - end -end |