class Aspen::Renderers::JsonRenderer

Public Instance Methods

nodes() click to toggle source
# File lib/aspen/renderers/json_renderer.rb, line 12
def nodes
  statements.flat_map(&:nodes).map do |node|
    node.attributes.merge({
      id: node.nickname,
      label: node.label
    })
  end
end
relationships() click to toggle source
# File lib/aspen/renderers/json_renderer.rb, line 21
def relationships
  statements.map.with_index do |st, id|
    # @todo: Add in Custom Statements
    if st.is_a? Aspen::CustomStatement
      next # NO OP
    else
      {
        id: "e#{id}",
        source: st.origin.nickname,
        target: st.target.nickname,
        label: st.edge.label,
        reciprocal: st.edge.reciprocal?
      }
    end
  end.compact
end
render() click to toggle source
# File lib/aspen/renderers/json_renderer.rb, line 5
def render
  {
    nodes: nodes,
    edges: relationships
  }.to_json
end