class RoadForest::TypeHandlers::Handler
Public Instance Methods
add_child_to(resource)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 31 def add_child_to(resource) interface = resource.interface source = resource.request_body input_data = network_to_local(interface.my_url, source) child_for_interface(resource.interface, input_data) build_response(resource) end
build_response(resource)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 41 def build_response(resource) interface = resource.interface renderer = resource.content_engine.choose_renderer(resource.request_accept_header) body = renderer.local_to_network(interface.my_url, interface.response_data) resource.response_content_type = renderer.content_type_header resource.response_body = body if interface.response_location resource.redirect_to(interface.response_location) end end
child_for_interface(interface, data)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 54 def child_for_interface(interface, data) interface.add_child(data) interface.processed end
get_output(interface)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 66 def get_output(interface) result = interface.retrieve interface.response_data = result interface.processed result end
local_to_network(base_uri, local)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 8 def local_to_network(base_uri, local) return local end
network_to_local(base_uri, network)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 4 def network_to_local(base_uri, network) return network end
parse_for(resource)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 12 def parse_for(resource) source = resource.request_body interface = resource.interface input_data = network_to_local(interface.my_url, source) update_interface(interface, input_data) renderer = resource.content_engine.choose_renderer(resource.request_accept_header) body = renderer.local_to_network(interface.my_url, interface.response_data) build_response(resource) end
render_for(resource)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 25 def render_for(resource) interface = resource.interface output_data = get_output(interface) local_to_network(interface.my_url, output_data) end
update_interface(interface, input_data)
click to toggle source
# File lib/roadforest/type-handlers/handler.rb, line 59 def update_interface(interface, input_data) result = interface.update(input_data) interface.response_data = result interface.processed result end