module RoadForest::Graph::Helpers::Payloads
Public Instance Methods
backfill_payload(domain, type, root)
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 31 def backfill_payload(domain, type, root) if payload_blocks.has_key?([domain, type]) start_focus(nil, root) do |focus| payload_blocks[[domain, type]][focus] end end end
payload_block(domain, type, &block)
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 27 def payload_block(domain, type, &block) payload_blocks[[domain, type]] = block end
payload_blocks()
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 23 def payload_blocks @payload_blocks ||= {} end
payload_for_create(domain = nil, &block)
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 62 def payload_for_create(domain = nil, &block) payload_method(:create_payload, domain || :general, :create, &block) end
payload_for_update(domain = nil, &block)
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 58 def payload_for_update(domain = nil, &block) payload_method(:update_payload, domain || :general, :update, &block) end
payload_method(method_name, domain, type, &block)
click to toggle source
# File lib/roadforest/interface/rdf.rb, line 39 def payload_method(method_name, domain, type, &block) payload_block(domain, type, &block) define_method method_name do backfill_route = path_provider.find_route do |route| klass = route.interface_class next if klass.nil? next unless klass.respond_to? :domains next unless klass.respond_to? :types klass.domains.include?(domain) and klass.types.include?(type) end return nil if backfill_route.nil? klass = backfill_route.interface_class root_node = url_for(backfill_route.name) + klass.fragment_for(route_name, type) return Payload.new(root_node, nil) end end