Method: Mack::Rendering::Type::Url#render
- Defined in:
- lib/mack/rendering/type/url.rb
#render ⇒ Object
Retrieves the contents of the url using either GET or POST, passing along any specified parameters.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/mack/rendering/type/url.rb', line 34 def render = {:method => :get, :raise_exception => false}.merge(self.) url = self._render_value remote = url.match(/^[a-zA-Z]+:\/\//) case [:method] when :get if remote do_render_remote_url(url_with_query(url, [:parameters]), ) do |uri, | Net::HTTP.get_response(uri) end else do_render_local_url(url, ) do |url, | Rack::MockRequest.new(self._app_for_rendering).get(url, ) end end when :post if remote do_render_remote_url(url, ) do |uri, | Net::HTTP.post_form(uri, [:parameters] || {}) end else do_render_local_url(url, ) do |url, | Rack::MockRequest.new(self._app_for_rendering).post(url, ) end end else raise Mack::Errors::UnsupportRenderUrlMethodType.new([:method]) end end |