Module: Upmin::Railties::Render
- Defined in:
- lib/upmin/railties/render.rb
Instance Method Summary collapse
-
#up_render(data, options = {}) ⇒ Object
Render method that is used by upmin-admin.
Instance Method Details
#up_render(data, options = {}) ⇒ Object
Render method that is used by upmin-admin. Tries to render partials in order, passing data in as the :object, along with options.
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/upmin/railties/render.rb', line 6 def up_render(data, = {}) if data.is_a?(Upmin::Model) = RenderHelpers.(data, ) partials = RenderHelpers.model_partials(data, ) elsif data.is_a?(Upmin::Attribute) = RenderHelpers.(data, ) partials = RenderHelpers.attribute_partials(data, ) elsif data.is_a?(Upmin::Association) = RenderHelpers.(data, ) partials = RenderHelpers.association_partials(data, ) elsif data.is_a?(Upmin::Action) = RenderHelpers.(data, ) partials = RenderHelpers.action_partials(data, ) elsif data.is_a?(Upmin::Parameter) = RenderHelpers.(data, ) partials = RenderHelpers.parameter_partials(data, ) elsif data.is_a?(Upmin::Query) = RenderHelpers.(data, ) partials = RenderHelpers.search_results_partials(data, ) elsif data.superclass == Upmin::Model # Probably rendering a search box = RenderHelpers.(data, ) partials = RenderHelpers.search_box_partials(data, ) else raise Upmin::ArgumentError.new(data) end # Use options as the render hash, and set :object as the data being used for rendering. [:object] = data partials.each do |partial| begin [:partial] = partial return render() rescue ActionView::MissingTemplate => e end end # If we get here we tried all of the partials and nothing matched. This *shouldn't* be possible but might happen if partials are deleted. raise Upmin::MissingPartial.new(data) end |