Class: Semantria::Session

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(consumer_key, consumer_secret, application_name = nil, use_compression = false, serializer = nil) ⇒ Session

Create a new instance



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/semantria/session.rb', line 12

def initialize(consumer_key, consumer_secret, application_name = nil, use_compression = false, serializer = nil)
  @host = 'https://api.semantria.com'
  @wrapper_name = "Ruby/#{Semantria::VERSION}"
  @consumer_key = consumer_key
  @consumer_secret = consumer_secret
  @use_compression = use_compression

  if application_name.nil?
    @application_name = @wrapper_name
  else
    @application_name = '%s/%s' % [application_name, @wrapper_name]
  end

  if serializer.nil?
    #set default json serializer
    @serializer = JsonSerializer.new()
    @format = @serializer.gettype()
  else
    @serializer = serializer
    @format = @serializer.gettype()
  end
end

Instance Attribute Details

#hostObject

Returns the value of attribute host.



9
10
11
# File 'lib/semantria/session.rb', line 9

def host
  @host
end

Instance Method Details

#addBlacklist(items, config_id = nil) ⇒ Object



109
110
111
# File 'lib/semantria/session.rb', line 109

def addBlacklist(items, config_id = nil)
  updateBlacklist(items, config_id)
end

#addCategories(items, config_id = nil) ⇒ Object



147
148
149
# File 'lib/semantria/session.rb', line 147

def addCategories(items, config_id = nil)
  updateCategories(items, config_id)
end

#addConfigurations(items) ⇒ Object



80
81
82
# File 'lib/semantria/session.rb', line 80

def addConfigurations(items)
  updateConfigurations(items)
end

#addEntities(items, config_id = nil) ⇒ Object



261
262
263
# File 'lib/semantria/session.rb', line 261

def addEntities(items, config_id = nil)
  updateEntities(items, config_id)
end

#addPhrases(items, config_id = nil) ⇒ Object



223
224
225
# File 'lib/semantria/session.rb', line 223

def addPhrases(items, config_id = nil)
  updatePhrases(items, config_id)
end

#addQueries(items, config_id = nil) ⇒ Object



185
186
187
# File 'lib/semantria/session.rb', line 185

def addQueries(items, config_id = nil)
  updateQueries(items, config_id)
end

#cancelCollection(id, config_id = nil) ⇒ Object



397
398
399
400
401
402
403
404
405
406
407
# File 'lib/semantria/session.rb', line 397

def cancelCollection(id, config_id = nil)
  fail 'Collection ID is nil or empty' if id.nil?

  if config_id.nil?
    url = "#{@host}/collection/#{id}.#{@format}"
  else
    url = "#{@host}/collection/#{id}.#{@format}?config_id=#{config_id}"
  end

  runRequest('DELETE', url)
end

#cancelDocument(doc_id, config_id = nil) ⇒ Object



337
338
339
340
341
342
343
344
345
346
347
# File 'lib/semantria/session.rb', line 337

def cancelDocument(doc_id, config_id = nil)
  fail 'Document ID is nil or empty' if doc_id.nil?

  if config_id.nil?
    url = "#{@host}/document/#{doc_id}.#{@format}"
  else
    url = "#{@host}/document/#{doc_id}.#{@format}?config_id=#{config_id}"
  end

  runRequest('DELETE', url)
end

#deleteConfigurations(items) ⇒ Object



91
92
93
94
95
96
97
# File 'lib/semantria/session.rb', line 91

def deleteConfigurations(items)
  url = "#{@host}/configurations.#{@format}"

  wrapper = get_type_wrapper('delete_configurations')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#getBlacklist(config_id = nil) ⇒ Object



99
100
101
102
103
104
105
106
107
# File 'lib/semantria/session.rb', line 99

def getBlacklist(config_id = nil)
  if config_id.nil?
    url = "#{@host}/blacklist.#{@format}"
  else
    url = "#{@host}/blacklist.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_blacklist') || []
end

#getCategories(config_id = nil) ⇒ Object



137
138
139
140
141
142
143
144
145
# File 'lib/semantria/session.rb', line 137

def getCategories(config_id = nil)
  if config_id.nil?
    url = "#{@host}/categories.#{@format}"
  else
    url = "#{@host}/categories.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_categories') || []
end

#getCollection(id, config_id = nil) ⇒ Object



385
386
387
388
389
390
391
392
393
394
395
# File 'lib/semantria/session.rb', line 385

def getCollection(id, config_id = nil)
  fail 'Collection ID is nil or empty' if id.nil?

  if config_id.nil?
    url = "#{@host}/collection/#{id}.#{@format}"
  else
    url = "#{@host}/collection/#{id}.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_collection')
end

#getConfigurationsObject



75
76
77
78
# File 'lib/semantria/session.rb', line 75

def getConfigurations
  url = "#{@host}/configurations.#{@format}"
  runRequest('GET', url, 'get_configurations') || []
end

#getDocument(doc_id, config_id = nil) ⇒ Object



325
326
327
328
329
330
331
332
333
334
335
# File 'lib/semantria/session.rb', line 325

def getDocument(doc_id, config_id = nil)
  fail 'Document ID is nil or empty' if doc_id.nil?

  if config_id.nil?
    url = "#{@host}/document/#{doc_id}.#{@format}"
  else
    url = "#{@host}/document/#{doc_id}.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_document')
end

#getEntities(config_id = nil) ⇒ Object



251
252
253
254
255
256
257
258
259
# File 'lib/semantria/session.rb', line 251

def getEntities(config_id = nil)
  if config_id.nil?
    url = "#{@host}/entities.#{@format}"
  else
    url = "#{@host}/entities.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_entities') || []
end

#getPhrases(config_id = nil) ⇒ Object



213
214
215
216
217
218
219
220
221
# File 'lib/semantria/session.rb', line 213

def getPhrases(config_id = nil)
  if config_id.nil?
    url = "#{@host}/phrases.#{@format}"
  else
    url = "#{@host}/phrases.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_sentiment_phrases') || []
end

#getProcessedCollections(config_id = nil) ⇒ Object



409
410
411
412
413
414
415
416
417
418
# File 'lib/semantria/session.rb', line 409

def getProcessedCollections(config_id = nil)
  if config_id.nil?
    url = "#{@host}/collection/processed.#{@format}"
  else
    url = "#{@host}/collection/processed.#{@format}?config_id=#{config_id}"
  end

  result = runRequest('GET', url, 'get_processed_collections')
  result ||= []
end

#getProcessedCollectionsByJobId(job_id) ⇒ Object



420
421
422
423
424
425
# File 'lib/semantria/session.rb', line 420

def getProcessedCollectionsByJobId(job_id)
  url = "#{@host}/collection/processed.#{@format}?job_id=#{job_id}"

  result = runRequest('GET', url, 'get_processed_collections_by_job_id')
  result ||= []
end

#getProcessedDocuments(config_id = nil) ⇒ Object



349
350
351
352
353
354
355
356
357
358
# File 'lib/semantria/session.rb', line 349

def getProcessedDocuments(config_id = nil)
  if config_id.nil?
    url = "#{@host}/document/processed.#{@format}"
  else
    url = "#{@host}/document/processed.#{@format}?config_id=#{config_id}"
  end

  result = runRequest('GET', url, 'get_processed_documents')
  result ||= []
end

#getProcessedDocumentsByJobId(job_id) ⇒ Object



360
361
362
363
364
365
# File 'lib/semantria/session.rb', line 360

def getProcessedDocumentsByJobId(job_id)
  url = "#{@host}/document/processed.#{@format}?job_id=#{job_id}"

  result = runRequest('GET', url, 'get_processed_documents_by_job_id')
  result ||= []
end

#getQueries(config_id = nil) ⇒ Object



175
176
177
178
179
180
181
182
183
# File 'lib/semantria/session.rb', line 175

def getQueries(config_id = nil)
  if config_id.nil?
    url = "#{@host}/queries.#{@format}"
  else
    url = "#{@host}/queries.#{@format}?config_id=#{config_id}"
  end

  runRequest('GET', url, 'get_queries') || []
end

#getStatisticsObject



70
71
72
73
# File 'lib/semantria/session.rb', line 70

def getStatistics
  url = "#{@host}/statistics.#{@format}"
  runRequest('GET', url, 'get_statistics')
end

#getStatusObject



50
51
52
53
# File 'lib/semantria/session.rb', line 50

def getStatus
  url = "#{@host}/status.#{@format}"
  runRequest('GET', url, 'get_status')
end

#getSubscriptionObject



65
66
67
68
# File 'lib/semantria/session.rb', line 65

def getSubscription
  url = "#{@host}/subscription.#{@format}"
  runRequest('GET', url, 'get_subscription')
end

#getSupportedFeatures(language) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/semantria/session.rb', line 55

def getSupportedFeatures(language)
  if language.nil?
    url = "#{@host}/features.#{@format}"
  else
    url = "#{@host}/features.#{@format}?language=#{language}"
  end
	  
  runRequest('GET', url, 'get_features')
end

#queueBatch(batch, config_id = nil) ⇒ Object



307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'lib/semantria/session.rb', line 307

def queueBatch(batch, config_id = nil)
  if config_id.nil?
    url = "#{@host}/document/batch.#{@format}"
  else
    url = "#{@host}/document/batch.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('queue_batch_documents')
  data = @serializer.serialize(batch, wrapper)
  result = runRequest('POST', url, 'get_processed_documents', data)
  if result != nil && result.is_a?(Array)
    onDocsAutoResponse(result)
    200
  else
    result
  end
end

#queueCollection(task, config_id = nil) ⇒ Object



367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
# File 'lib/semantria/session.rb', line 367

def queueCollection(task, config_id = nil)
  if config_id.nil?
    url = "#{@host}/collection.#{@format}"
  else
    url = "#{@host}/collection.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('queue_collection')
  data = @serializer.serialize(task, wrapper)
  result = runRequest('POST', url, 'get_processed_collections', data)
  if result != nil && result.is_a?(Array)
    onCollsAutoResponse(result)
    200
  else
    result
  end
end

#queueDocument(task, config_id = nil) ⇒ Object



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
# File 'lib/semantria/session.rb', line 289

def queueDocument(task, config_id = nil)
  if config_id.nil?
    url = "#{@host}/document.#{@format}"
  else
    url = "#{@host}/document.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('queue_document')
  data = @serializer.serialize(task, wrapper)
  result = runRequest('POST', url, 'get_processed_documents', data)
  if result != nil && result.is_a?(Array)
    onDocsAutoResponse(result)
    200
  else
    result
  end
end

#registerSerializer(serializer) ⇒ Object



35
36
37
38
39
40
# File 'lib/semantria/session.rb', line 35

def registerSerializer(serializer)
  fail 'Serializer can\'t be null' if serializer.nil?

  @serializer = serializer
  @format = serializer.gettype()
end

#removeBlacklist(items, config_id = nil) ⇒ Object



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/semantria/session.rb', line 125

def removeBlacklist(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/blacklist.#{@format}"
  else
    url = "#{@host}/blacklist.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('remove_blacklist')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#removeCategories(items, config_id = nil) ⇒ Object



163
164
165
166
167
168
169
170
171
172
173
# File 'lib/semantria/session.rb', line 163

def removeCategories(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/categories.#{@format}"
  else
    url = "#{@host}/categories.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('remove_categories')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#removeEntities(items, config_id = nil) ⇒ Object



277
278
279
280
281
282
283
284
285
286
287
# File 'lib/semantria/session.rb', line 277

def removeEntities(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/entities.#{@format}"
  else
    url = "#{@host}/entities.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('remove_entities')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#removePhrases(items, config_id = nil) ⇒ Object



239
240
241
242
243
244
245
246
247
248
249
# File 'lib/semantria/session.rb', line 239

def removePhrases(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/phrases.#{@format}"
  else
    url = "#{@host}/phrases.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('remove_phrases')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#removeQueries(items, config_id = nil) ⇒ Object



201
202
203
204
205
206
207
208
209
210
211
# File 'lib/semantria/session.rb', line 201

def removeQueries(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/queries.#{@format}"
  else
    url = "#{@host}/queries.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('remove_queries')
  data = @serializer.serialize(items, wrapper)
  runRequest('DELETE', url, nil, data)
end

#setCallbackHandler(callback) ⇒ Object



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

def setCallbackHandler(callback)
  if callback.class < CallbackHandler
    @callback = callback
  else
    fail "Parameter is not subclass of CallbackHandler #{callback}"
  end
end

#updateBlacklist(items, config_id = nil) ⇒ Object



113
114
115
116
117
118
119
120
121
122
123
# File 'lib/semantria/session.rb', line 113

def updateBlacklist(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/blacklist.#{@format}"
  else
    url = "#{@host}/blacklist.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('update_blacklist')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end

#updateCategories(items, config_id = nil) ⇒ Object



151
152
153
154
155
156
157
158
159
160
161
# File 'lib/semantria/session.rb', line 151

def updateCategories(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/categories.#{@format}"
  else
    url = "#{@host}/categories.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('update_categories')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end

#updateConfigurations(items) ⇒ Object



84
85
86
87
88
89
# File 'lib/semantria/session.rb', line 84

def updateConfigurations(items)
  url = "#{@host}/configurations.#{@format}"
  wrapper = get_type_wrapper('update_configurations')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end

#updateEntities(items, config_id = nil) ⇒ Object



265
266
267
268
269
270
271
272
273
274
275
# File 'lib/semantria/session.rb', line 265

def updateEntities(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/entities.#{@format}"
  else
    url = "#{@host}/entities.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('update_entities')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end

#updatePhrases(items, config_id = nil) ⇒ Object



227
228
229
230
231
232
233
234
235
236
237
# File 'lib/semantria/session.rb', line 227

def updatePhrases(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/phrases.#{@format}"
  else
    url = "#{@host}/phrases.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('update_sentiment_phrases')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end

#updateQueries(items, config_id = nil) ⇒ Object



189
190
191
192
193
194
195
196
197
198
199
# File 'lib/semantria/session.rb', line 189

def updateQueries(items, config_id = nil)
  if config_id.nil?
    url = "#{@host}/queries.#{@format}"
  else
    url = "#{@host}/queries.#{@format}?config_id=#{config_id}"
  end

  wrapper = get_type_wrapper('update_queries')
  data = @serializer.serialize(items, wrapper)
  runRequest('POST', url, nil, data)
end