Class: OxfordFaceApi::Person

Inherits:
Object
  • Object
show all
Defined in:
lib/oxford/face/api.rb

Instance Method Summary collapse

Constructor Details

#initializePerson

Returns a new instance of Person.



145
146
147
148
# File 'lib/oxford/face/api.rb', line 145

def initialize
  raise if OxfordFaceApi.API_KEY.empty?
  @client = HttpClient.new(OxfordFaceApi.API_KEY)
end

Instance Method Details

#add_face(group_id, person_id, url, user_data = "", target_face = "") ⇒ Object

Add a Person Face POST api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId/persistedFaces[&targetFace]



152
153
154
155
156
157
# File 'lib/oxford/face/api.rb', line 152

def add_face(group_id, person_id, url, user_data = "", target_face = "")
  params = {
  url: url
  }
  @client.post("/persongroups/#{group_id}/persons/#{person_id}/persistedFaces?userData=#{user_data}&targetFace=#{target_face}", params)
end

#all(group_id) ⇒ Object

List Persons in a Person Group GET api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons



197
198
199
# File 'lib/oxford/face/api.rb', line 197

def all(group_id)
  @client.get("/persongroups/#{group_id}/persons")
end

#create(group_id, name, user_data = "") ⇒ Object

Create a Person POST api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons



161
162
163
164
165
166
167
# File 'lib/oxford/face/api.rb', line 161

def create(group_id, name, user_data = "")
  params = {
  name: name,
  userData: user_data
  }
  @client.post("/persongroups/#{group_id}/persons", params)
end

#delete(group_id, person_id) ⇒ Object

FIXME Delete a Person DELETE api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId



172
173
174
# File 'lib/oxford/face/api.rb', line 172

def delete(group_id, person_id)
  @client.delete("/persongroups/#{group_id}/persons/#{person_id}")
end

#delete_face(group_id, person_id, face_id) ⇒ Object

FIXME Delete a Person Face DELETE api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId/persistedFaces/persistedFaceId



179
180
181
# File 'lib/oxford/face/api.rb', line 179

def delete_face(group_id, person_id, face_id)
  @client.delete("/persongroups/#{group_id}/persons/#{person_id}/persistedFaces/#{face_id}")
end

#face(group_id, person_id, face_id) ⇒ Object

Get a Person Face GET api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId/persistedFaces/persistedFaceId



191
192
193
# File 'lib/oxford/face/api.rb', line 191

def face(group_id, person_id, face_id)
  @client.get("/persongroups/#{group_id}/persons/#{person_id}/persistedFaces/#{face_id}")
end

#get(group_id, person_id) ⇒ Object

Get a Person GET api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId



185
186
187
# File 'lib/oxford/face/api.rb', line 185

def get(group_id, person_id)
  @client.get("/persongroups/#{group_id}/persons/#{person_id}")
end

#update(group_id, person_id, name, user_data) ⇒ Object

Update a Person PATCH api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId



203
204
205
206
207
208
209
# File 'lib/oxford/face/api.rb', line 203

def update(group_id, person_id, name, user_data)
  params = {
  name: name,
  userData: user_data
  }
  @client.patch("/persongroups/#{group_id}/persons/#{person_id}", params)
end

#update_face(group_id, person_id, face_id, user_data) ⇒ Object

Update a Person Face PATCH ttps://api.projectoxford.ai/face/v1.0/persongroups/personGroupId/persons/personId/persistedFaces/persistedFaceId



213
214
215
216
217
218
# File 'lib/oxford/face/api.rb', line 213

def update_face(group_id, person_id, face_id, user_data)
  params = {
  userData: user_data
  }
  @client.patch("/persongroups/#{group_id}/persons/#{person_id}/persistedFaces/#{face_id}", params)
end