Sha256: a1cc512b0d61e5fec0dfcf338593db4ae056bb26debfde41d785832cb4ea644e
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module Reform::Form::Scalar # IDEA: what if every "leaf" property would be represented by a Scalar form? def self.included(base) base.extend ClassMethods base.extend Forwardable end def update!(object) @fields = object # @scalar is "I came from the outside." or <ArbitraryObject>. end def scalar fields end def save! end def sync! model.replace(fields) # FIXME: how to sync that, if it's not responds to replace? or what if we don't want to write (e.g. image with paperdragon)? end def to_nested_hash scalar end module ClassMethods def validates(name, options={}) if name.is_a?(Hash) name, options = :scalar, name # per default, validate #scalar (e.g. "Hello"). else def_delegator :scalar, name end super(name, options) end end # TODO: change the way i hook into ::property. module Property def property(name, options={}, &block) if options[:scalar] options.merge!(:features => [Reform::Form::Scalar], populate_if_empty: String) end super end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
reform-1.1.1 | lib/reform/form/scalar.rb |
reform-1.1.0 | lib/reform/form/scalar.rb |