module Formalist::Element::ClassInterface
Class-level API for form elements.
Public Instance Methods
attribute(name, default: nil)
click to toggle source
# File lib/formalist/element/class_interface.rb, line 11 def attribute(name, default: nil) attributes(name => {default: default}) end
attributes_schema()
click to toggle source
# File lib/formalist/element/class_interface.rb, line 15 def attributes_schema super_schema = superclass.respond_to?(:attributes_schema) ? superclass.attributes_schema : {} super_schema.merge(@attributes_schema || {}) end
type()
click to toggle source
# File lib/formalist/element/class_interface.rb, line 7 def type Inflecto.underscore(Inflecto.demodulize(name)).to_sym end
Private Instance Methods
attributes(new_schema)
click to toggle source
# File lib/formalist/element/class_interface.rb, line 22 def attributes(new_schema) prev_schema = @attributes_schema || {} @attributes_schema = prev_schema.merge(new_schema) self end