Class: Administer::Fields::FieldBuilder
- Inherits:
-
Object
- Object
- Administer::Fields::FieldBuilder
- Defined in:
- lib/administer/fields/field_builder.rb
Constant Summary collapse
- @@registered_classes =
SuperclassHash.new
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.register_class(klass, &block) ⇒ Object
6 7 8 |
# File 'lib/administer/fields/field_builder.rb', line 6 def register_class(klass, &block) @@registered_classes[klass] = block end |
Instance Method Details
#build_fields_for(fields) ⇒ Object
11 12 13 14 15 |
# File 'lib/administer/fields/field_builder.rb', line 11 def build_fields_for(fields) fields.map do |field| field_for(field) end end |
#field_for(object) ⇒ Object
17 18 19 20 21 |
# File 'lib/administer/fields/field_builder.rb', line 17 def field_for(object) block = @@registered_classes[object.class] raise "FieldBuilder has no class registered #{object.class}" unless block block.call(object) end |