Class: Veryfi::Api::DocumentTag

Inherits:
Object
  • Object
show all
Defined in:
lib/veryfi/api/document_tag.rb

Overview

Tags on a specific document (/partner/documents/{id}/tags/).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ DocumentTag

Returns a new instance of DocumentTag.



11
12
13
# File 'lib/veryfi/api/document_tag.rb', line 11

def initialize(request)
  @request = request
end

Instance Attribute Details

#requestObject (readonly)

Returns the value of attribute request.



9
10
11
# File 'lib/veryfi/api/document_tag.rb', line 9

def request
  @request
end

Instance Method Details

#add(document_id, params) ⇒ Veryfi::Resource

Add a single tag to a document. (PUT semantics — creates the tag if it does not exist, otherwise links the existing tag.)

Parameters:

  • document_id (Integer)
  • params (Hash)

Options Hash (params):

  • :name (String)

    required. Tag name.

Returns:



33
34
35
# File 'lib/veryfi/api/document_tag.rb', line 33

def add(document_id, params)
  request.put("/partner/documents/#{document_id}/tags/", params)
end

#add_multiple(document_id, tags) ⇒ Veryfi::Resource

Add many tags to a document in a single call.

Parameters:

  • document_id (Integer)
  • tags (Array<String>)

    tag names

Returns:



42
43
44
# File 'lib/veryfi/api/document_tag.rb', line 42

def add_multiple(document_id, tags)
  request.post("/partner/documents/#{document_id}/tags/", tags: tags)
end

#all(document_id, params = {}) ⇒ Array<Veryfi::Resource>

List tags on a document.

Parameters:

  • document_id (Integer)
  • params (Hash) (defaults to: {})

    optional query-string parameters

Returns:



20
21
22
23
24
# File 'lib/veryfi/api/document_tag.rb', line 20

def all(document_id, params = {})
  response = request.get("/partner/documents/#{document_id}/tags/", params)

  response["tags"]
end

#delete(document_id, id) ⇒ Veryfi::Resource

Unlink a single tag from a document.

Parameters:

  • document_id (Integer)
  • id (Integer)

    tag id

Returns:



69
70
71
# File 'lib/veryfi/api/document_tag.rb', line 69

def delete(document_id, id)
  request.delete("/partner/documents/#{document_id}/tags/#{id}")
end

#delete_all(document_id) ⇒ Veryfi::Resource

Unlink every tag from a document.

Parameters:

  • document_id (Integer)

Returns:



60
61
62
# File 'lib/veryfi/api/document_tag.rb', line 60

def delete_all(document_id)
  request.delete("/partner/documents/#{document_id}/tags/")
end

#replace(document_id, tags) ⇒ Veryfi::Resource

Replace the entire tag list on a document (PUT on the parent resource with a tags: array).

Parameters:

  • document_id (Integer)
  • tags (Array<String>)

    new full list of tag names

Returns:



52
53
54
# File 'lib/veryfi/api/document_tag.rb', line 52

def replace(document_id, tags)
  request.put("/partner/documents/#{document_id}/", tags: tags)
end