Class: Search

Inherits:
ChinoBaseAPI show all
Defined in:
lib/chino_ruby.rb

Instance Method Summary collapse

Methods inherited from ChinoBaseAPI

#delete_resource, #get_resource, #initialize, #parse_response, #patch_resource, #post_resource, #post_resource_with_string_result, #put_resource, #return_uri

Methods inherited from CheckValues

#check_boolean, #check_int, #check_json, #check_string

Constructor Details

This class inherits a constructor from ChinoBaseAPI

Instance Method Details

#search_documents(schema_id, result_type, filter_type, sort, filter, limit = nil, offset = nil) ⇒ Object



1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
# File 'lib/chino_ruby.rb', line 1390

def search_documents(schema_id, result_type, filter_type, sort, filter, limit=nil, offset=nil)
    check_string(schema_id)
    check_string(result_type)
    check_string(filter_type)
    check_json(sort)
    check_json(filter)
    data = {"result_type": result_type, "filter_type": filter_type, "filter": filter, "sort": sort}.to_json
    docs = GetDocumentsResponse.new
    if limit==nil && offset==nil
      docs.from_json(post_resource("/search/documents/#{schema_id}", data, ChinoRuby::QUERY_DEFAULT_LIMIT, 0).to_json)
    else
      docs.from_json(post_resource("/search/documents/#{schema_id}", data, limit, offset).to_json)
    end
    ds = docs.documents
    docs.documents = []
    ds.each do |d|
        doc = Document.new
        doc.from_json(d.to_json)
        docs.documents.push(doc)
    end
    docs
end

#search_users(user_schema_id, result_type, filter_type, sort, filter, limit = nil, offset = nil) ⇒ Object



1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
# File 'lib/chino_ruby.rb', line 1413

def search_users(user_schema_id, result_type, filter_type, sort, filter, limit=nil, offset=nil)
    check_string(user_schema_id)
    check_string(result_type)
    check_string(filter_type)
    check_json(sort)
    check_json(filter)
    data = {"result_type": result_type, "filter_type": filter_type, "filter": filter, "sort": sort}.to_json
    users = GetUsersResponse.new
    if limit==nil && offset==nil
      users.from_json(post_resource("/search/users/#{user_schema_id}", data, ChinoRuby::QUERY_DEFAULT_LIMIT, 0).to_json)
    else
      users.from_json(post_resource("/search/users/#{user_schema_id}", data, limit, offset).to_json)
    end
    us = users.users
    users.users = []
    us.each do |u|
        user = User.new
        user.from_json(u.to_json)
        users.users.push(user)
    end
    users
end