module Verifly::ClassBuilder::Mixin
Mixin
provides useful methods to integrate into builder subsystem. Feel free to override or just never include it. @attr_writer [[Class]] buildable_classes
Array of classes which will be checked if they suite constructor arguments. Order matters
Public Instance Methods
build(*arguments, &block)
click to toggle source
Default implementation. This method should be used instead of new in all cases
# File lib/verifly/class_builder.rb, line 36 def build(*arguments, &block) build_class(*arguments, &block).new(*arguments, &block) end
build_class(*args, &block)
click to toggle source
Default implementation of build_class. Feel free to change it, but you'll have to override it in buildable_classes
# File lib/verifly/class_builder.rb, line 26 def build_class(*args, &block) if @class_builder @class_builder.call(*args, &block) else self end end
buildable_classes=(klasses)
click to toggle source
Array of classes which will be checked if they suite constructor arguments. Order matters @param klasses [[Class]]
# File lib/verifly/class_builder.rb, line 19 def buildable_classes=(klasses) @class_builder = ClassBuilder.new(klasses).freeze end