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