Class: Verifly::ClassBuilder
- Inherits:
-
Object
- Object
- Verifly::ClassBuilder
- Defined in:
- lib/verifly/class_builder.rb
Overview
ClassBuilder is similar to Uber::Builder, but it allows child classes to decide whether they will be used. I find it much more object-oriented
Defined Under Namespace
Modules: Mixin
Instance Attribute Summary collapse
-
#klasses ⇒ [Class]
classes to iterate during search of most suitable.
Instance Method Summary collapse
-
#call(*arguments, &block) ⇒ Class
First nonzero class returned by .build_class.
-
#initialize(klasses) ⇒ ClassBuilder
constructor
A new instance of ClassBuilder.
Constructor Details
#initialize(klasses) ⇒ ClassBuilder
Returns a new instance of ClassBuilder.
44 45 46 |
# File 'lib/verifly/class_builder.rb', line 44 def initialize(klasses) self.klasses = klasses end |
Instance Attribute Details
#klasses ⇒ [Class]
classes to iterate during search of most suitable
9 10 11 |
# File 'lib/verifly/class_builder.rb', line 9 def klasses @klasses end |
Instance Method Details
#call(*arguments, &block) ⇒ Class
Returns first nonzero class returned by .build_class.
49 50 51 52 53 54 |
# File 'lib/verifly/class_builder.rb', line 49 def call(*arguments, &block) klasses.each do |klass| result = klass.build_class(*arguments, &block) return result if result end end |