class KepplerWatson::PersonalityInsights
Your code goes hereā¦
Public Class Methods
new(params)
click to toggle source
# File lib/keppler_watson/personality_insights.rb, line 10 def initialize(params) @username = params[:username] @password = params[:password] @version = params[:version] @lang = params[:lang] end
Public Instance Methods
profile(params)
click to toggle source
# File lib/keppler_watson/personality_insights.rb, line 17 def profile(params) api_post(:profile, params) end
Private Instance Methods
api_post(action, params)
click to toggle source
# File lib/keppler_watson/personality_insights.rb, line 27 def api_post(action, params) uri = URI.parse("#{api_url}/#{action.to_s}?version=#{@version}&consumption_preferences=true&raw_scores=true") request = Net::HTTP::Post.new(uri) request['Content-Type'] = "application/json" request['Accept'] = "application/json" request['Accept-Language'] = @lang request.basic_auth(@username.to_s, @password.to_s) request.body = params.to_json req_options = { use_ssl: uri.scheme == "https", } response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http| http.request(request) end JSON.parse(response.body, object_class: OpenStruct) end
api_url()
click to toggle source
# File lib/keppler_watson/personality_insights.rb, line 23 def api_url 'https://gateway.watsonplatform.net/personality-insights/api/v3' end