Slide 13
Slide 13 text
DSL-for-DSL challenge
Of course we can just use prepend :
module Typelizer::DSL::Hooks::Alba
def attribute(name, *args, **kwargs, &block)
Typelizer.consume_keyless_type(name)
super(name, *args, **kwargs, &block)
end
def has_many(name, *args, **kwargs)
Typelizer.consume_keyless_type(name)
Typelizer.record_multi(name)
super(name, *args, **kwargs, &block)
end
# … repeat for every DSL method in the serializer library we want to hook
end