1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
* Pass key/index as first block arg to :class and :extend
class: |key, hsh|
document `XML::AttributeHash` etc
* cleanup ReadableWriteable
* deprecate Representable::*::ClassMethods (::from_hash and friends)
* Song < OpenStruct in test_helper
* have representable-options (:include, :exclude) and user-options
* make all properties "Object-like", even arrays of strings etc. This saves us from having `extend ObjectBinding if typed?` and we could just call to_hash/from_hash on all attributes. performance issues here? otherwise: implement!
def compile_fragment(doc)
module ReaderWriter
def compile_fragment(doc)
do whatever
super
end
=> do that for all "features" (what parts would that be?: getter/setter, reader/writer, readable/writeable )?
* make lambda options optional (arity == 0)
* pass args to methods when arity matches
* DISCUSS if Decorator.new.representable_attrs != Decorator.representable_attrs ? (what about performance?)
* REMOVE :from, make :a(lia)s authorative.
* does :instance not work with :decorator ?
* make it easy to override Binding#options via #to_hash(whatever: {hit: {decorator: HitDecorator}})
* DISCUSS: should inline representers be created at runtime, so we don't need ::representer_engine?
* deprecate `Decorator::Coercion`.
* cleanup XML so it matches the current #serialize standard.
|