class RailsIbm::Uprofile::Bluepages::Typeahead
Public Class Methods
new(query, serial: '000000', limit: 10, start: 0)
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 9 def initialize(query, serial: '000000', limit: 10, start: 0) uri = "#{RailsIbm::Uprofile::BLUEPAGES_V1_URI}?userId=#{serial}&rows=#{limit}&start=#{start}&query=#{query}&searchConfig=typeahead_search" @response = HTTParty.get(uri, header: headers, format: :plain) end
Public Instance Methods
results(options)
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 14 def results(options) search_results(options) end
Private Instance Methods
default_values(options)
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 47 def default_values(options) default_params = { parsed: true, detailed: false, remap: false, array: true } default_params.merge(options) end
headers()
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 20 def headers { 'Content-Type': 'application/json', accept: 'application/json' } end
search_results(options)
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 31 def search_results(options) results = JSON.parse @response, symbolize_names: true return [] if results == nil return results unless default_values(options)[:parsed] results = parse_user results, %i[results], remap: default_values(options)[:remap] return results unless default_values(options)[:detailed] emails = [results].flatten.map { |u| u[:uid] } results = Uid.new(emails).results(parsed: default_values(options)[:parsed], remap: default_values(options)[:remap]) return results.map{ |_k,v| v } if default_values(options)[:array] results end
search_type()
click to toggle source
# File lib/rails_ibm/uprofile/bluepages/typeahead.rb, line 27 def search_type 'typeahead' end