class NodeApiClient

Public Instance Methods

check_updates(documents) click to toggle source
# File lib/dynalist/node_api_client.rb, line 13
def check_updates(documents)
  document_ids = documents.map(&:id)
  response = @conn.post "#{@base}doc/check_for_updates", {token: @token, file_ids: document_ids}.to_json
  check_response!(response)
  JSON.parse(response.body, symbolize_names: true)[:versions]
end
edit(document, queries) click to toggle source
# File lib/dynalist/node_api_client.rb, line 20
def edit(document, queries)
  changes = queries.map(&:to_query)
  response = @conn.post "#{@base}doc/edit", {token: @token, file_id: document.id, changes: changes}.to_json
  check_response!(response)
  JSON.parse(response.body, symbolize_names: true)[:new_node_ids]
end
read(document) click to toggle source
# File lib/dynalist/node_api_client.rb, line 5
def read(document)
  response = @conn.post "#{@base}doc/read", {token: @token, file_id: document.id}.to_json
  check_response!(response)
  JSON.parse(response.body, symbolize_names: true)[:nodes].map{ |node| node }
  nodes = JSON.parse(response.body, symbolize_names: true)[:nodes].map{ |node| Node.new(node.merge(file_id: document.id)) }
  NodeTree.add(nodes)
end