class OrbitFeedbackNotifier
Public Class Methods
call(feedback)
click to toggle source
# File lib/nexmo_developer/app/services/orbit_feedback_notifier.rb, line 2 def self.call(feedback) new(feedback).post! end
new(feedback)
click to toggle source
# File lib/nexmo_developer/app/services/orbit_feedback_notifier.rb, line 6 def initialize(feedback) @feedback = feedback end
Public Instance Methods
params()
click to toggle source
# File lib/nexmo_developer/app/services/orbit_feedback_notifier.rb, line 10 def params @params ||= { id: @feedback.id, email: @feedback.owner.email, resource: "Offered #{@feedback.sentiment} feedback on #{@feedback.resource.uri}", } end
post!()
click to toggle source
# File lib/nexmo_developer/app/services/orbit_feedback_notifier.rb, line 22 def post! return unless ENV['ORBIT_WORKSPACE_ID'] http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri) req['Accept'] = 'application/json' req['Content-Type'] = 'application/json' req['Authorization'] = "Bearer #{ENV['ORBIT_API_KEY']}" req.body = { activity: { activity_type: 'adp:feedback', key: "adp-feedback-#{params[:id]}", title: 'Offered feedback on ADP', description: params[:resource], occurred_at: Time.zone.now.iso8601, }, identity: { source: 'email', email: params[:email], }, } req.body = req.body.to_json http.request(req) end
uri()
click to toggle source
# File lib/nexmo_developer/app/services/orbit_feedback_notifier.rb, line 18 def uri @uri ||= URI("https://app.orbit.love/api/v1/#{ENV['ORBIT_WORKSPACE_ID']}/activities") end