Class: TuringAPI::VisualAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/turing_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



8
9
10
# File 'lib/turing_api.rb', line 8

def api_key
  @api_key
end

#api_versionObject

Returns the value of attribute api_version.



8
9
10
# File 'lib/turing_api.rb', line 8

def api_version
  @api_version
end

#base_urlObject

Returns the value of attribute base_url.



8
9
10
# File 'lib/turing_api.rb', line 8

def base_url
  @base_url
end

#headersObject

Returns the value of attribute headers.



8
9
10
# File 'lib/turing_api.rb', line 8

def headers
  @headers
end

#modeObject

Returns the value of attribute mode.



8
9
10
# File 'lib/turing_api.rb', line 8

def mode
  @mode
end

Instance Method Details

#auto_crop(url) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/turing_api.rb', line 41

def auto_crop(url)
  begin
    requested_url = @base_url+"autocrop"
    request = HTTParty.get(requested_url, headers: @headers, :body => {:url=>"#{url}"})
    response_data = request.body
    data = JSON.parse(response_data)
    data  
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end

#create(url, id, filters = [], metadata = []) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/turing_api.rb', line 53

def create(url, id, filters=[], =[])
  begin
    request = @mode=="live" ? "similar" : "demo-similar"
    requested_url = @base_url+"#{request}/create"
    filter1 = !filters.empty? ? filters[0]['filter1'] : " "
    filter2 = !filters.empty? ? filters[0]['filter2'] : " "
    filter3 = !filters.empty? ? filters[0]['filter3'] : " "
    title = !.empty? ? [0]['title'] : " "
    request = HTTParty.post(requested_url, headers: @headers, :body => {:url=>"#{url}", :id=>id, :filter1=>"#{filter1}", :filter2=>"#{filter2}", :filter3=>"#{filter3}", :title=>"#{title}" })
    response_data = request.body
    data = JSON.parse(response_data)
    data
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end

#delete(id) ⇒ Object



88
89
90
91
92
93
94
95
96
97
98
99
# File 'lib/turing_api.rb', line 88

def delete(id)
  begin
    request = @mode=="live" ? "similar" : "demo-similar"
    requested_url = @base_url+"#{request}/#{id}"
    response = HTTParty.delete(requested_url, headers: @headers)
    response_data = response.body
    data = JSON.parse(response_data)
    data
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end

#search(url, crop = [], filters = []) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/turing_api.rb', line 24

def search(url, crop=[], filters=[])
  begin
    request = @mode=="live" ? "similar" : "demo-similar"
    requested_url = @base_url+"#{request}/search"
    crop_size = !crop.empty? ? crop.join(",") : nil
    filter1 = !filters.empty? ? filters[0]['filter1'] : ""
    filter2 = !filters.empty? ? filters[0]['filter2'] : ""
    filter3 = !filters.empty? ? filters[0]['filter3'] : ""
    request = HTTParty.post(requested_url, headers: @headers, :body => {:url=>"#{url}", :crop=>"#{crop_size}", :filter1=>"#{filter1}", :filter2=>"#{filter2}", :filter3=>"#{filter3}" })
    response_data = request.body
    data = JSON.parse(response_data)
    data
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end

#similar(id, filters = []) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/turing_api.rb', line 10

def similar(id, filters=[])
  begin
    request = @mode=="live" ? "similar" : "demo-similar"
    requested_url = @base_url+"#{request}/#{id}"
    body = !filters.empty? ? {:filter1=>"#{filters[0]['filter1']}", :filter2=>"#{filters[0]['filter2']}", :filter3=>"#{filters[0]['filter3']}" } : {}
    response = HTTParty.get(requested_url, headers: @headers, :body => body)
    response_data = response.body
    data = JSON.parse(response_data)
    data
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end

#update(url, id, filters = [], metadata = []) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/turing_api.rb', line 70

def update(url, id, filters=[], =[])
  begin
    request = @mode=="live" ? "similar" : "demo-similar"
    requested_url = @base_url+"#{request}/create"
    url = url if !url.nil?
    filter1 = !filters.empty? ? filters[0]['filter1'] : " "
    filter2 = !filters.empty? ? filters[0]['filter2'] : " "
    filter3 = !filters.empty? ? filters[0]['filter3'] : " "
    title = !.empty? ? [0]['title'] : " "
    request = HTTParty.post(requested_url, headers: @headers, :body => {:url=>"#{url}", :id=>id, :filter1=>"#{filter1}", :filter2=>"#{filter2}", :filter3=>"#{filter3}", :title=>"#{title}" })
    response_data = request.body
    data = JSON.parse(response_data)
    data
  rescue JSON::ParserError => e 
    puts "Error message - #{e.message}"
  end
end