lib/roar/rails/responder.rb in roar-rails-0.0.9 vs lib/roar/rails/responder.rb in roar-rails-0.0.10

- old
+ new

@@ -1,11 +1,17 @@ module Roar::Rails module ModelMethods + private # DISCUSS: move this into a generic namespace as we could need that in Sinatra as well. def extend_with!(model, representer) model.extend(representer) end + + def prepare_model!(model) + representer = controller.representer_for(format, model, options) + extend_with!(model, representer) + end end module Responder include ModelMethods @@ -14,12 +20,12 @@ if representer = options.delete(:represent_items_with) render_items_with(model, representer) # convenience API, not recommended since it's missing hypermedia. return super end - representer = controller.representer_for(format, model, options) - extend_with!(model, representer) + prepare_model!(model) + super end private def render_items_with(collection, representer) @@ -27,7 +33,8 @@ extend_with!(m, representer) m.to_hash # FIXME: huh? and what about XML? end end + include VersionStrategy end end