Class: Ingenia::Item

Inherits:
Object
  • Object
show all
Includes:
Api
Defined in:
lib/ingenia_api/item.rb

Constant Summary collapse

PATH =
'/items'

Constants included from Api

Api::API_KNOWN_PARAMS

Class Method Summary collapse

Methods included from Api

#api_key, #api_key=, #classify, #debug=, #endpoint=, #similar_to, #status, #summarize, #train, #trained_tags, #verify_response, #version=

Class Method Details

.all(params = {}) ⇒ Object

Index your items



64
65
66
67
68
69
70
# File 'lib/ingenia_api/item.rb', line 64

def self.all params = {}
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.get( PATH, @params )
  end
end

.create(params = {}) ⇒ Object

Create a new item



19
20
21
22
23
24
25
# File 'lib/ingenia_api/item.rb', line 19

def self.create( params = {} )
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.post( PATH, @params )
  end
end

.destroy(id) ⇒ Object

Destroy an item



75
76
77
78
79
# File 'lib/ingenia_api/item.rb', line 75

def self.destroy id
  Ingenia::Api.verify_response do
    Remote.delete("#{PATH}/#{id}", :params => { :api_key => Ingenia::Api.api_key} )
  end
end

.find_or_create_by_text(params = {}) ⇒ Object

Find or create a new item by text



31
32
33
34
35
36
37
# File 'lib/ingenia_api/item.rb', line 31

def self.find_or_create_by_text( params = {} )
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.post( PATH, @params )
  end
end

.get(id, params = {}) ⇒ Object

Get a single item by id



7
8
9
10
11
12
13
# File 'lib/ingenia_api/item.rb', line 7

def self.get( id, params = {} )
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.get( "#{PATH}/#{id}", @params )
  end
end

.scan(params = {}) ⇒ Object

Scan your items



53
54
55
56
57
58
59
# File 'lib/ingenia_api/item.rb', line 53

def self.scan params = {}
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.get( "#{PATH}/scan", @params )
  end
end

.similar_to(id, mode = 'auto', params = {}) ⇒ Object

Get similar items



84
85
86
87
88
89
90
# File 'lib/ingenia_api/item.rb', line 84

def self.similar_to(id, mode='auto', params={})
  initialize_params params.merge(mode: mode.to_s)

  Ingenia::Api.verify_response do
    Remote.get("#{PATH}/#{id}/similar_to", @params)
  end
end

.update(id, params = {}) ⇒ Object

Update an existing item



42
43
44
45
46
47
48
# File 'lib/ingenia_api/item.rb', line 42

def self.update( id, params = {} )
  initialize_params params

  Ingenia::Api.verify_response do
    Remote.put("#{PATH}/#{id}", @params )
  end
end