class PipedriveOrbit::Interactions::Activity
Public Class Methods
new(activity:, pipedrive_url:, orbit_workspace:, orbit_api_key:)
click to toggle source
# File lib/pipedrive_orbit/interactions/activity.rb, line 8 def initialize(activity:, pipedrive_url:, orbit_workspace:, orbit_api_key:) @activity = activity @pipedrive_url = pipedrive_url @orbit_workspace = orbit_workspace @orbit_api_key = orbit_api_key after_initialize! end
Public Instance Methods
after_initialize!()
click to toggle source
# File lib/pipedrive_orbit/interactions/activity.rb, line 17 def after_initialize! OrbitActivities::Request.new( api_key: @orbit_api_key, workspace_id: @orbit_workspace, user_agent: "community-ruby-pipedrive-orbit/#{PipedriveOrbit::VERSION}", body: construct_body.to_json ) end
construct_body()
click to toggle source
# File lib/pipedrive_orbit/interactions/activity.rb, line 38 def construct_body hash = { activity: { activity_type: "pipedrive:activity", tags: ["channel:pipedrive"], title: "Added New #{@activity["type"].capitalize} Activity to Pipedrive", description: construct_description, occurred_at: @activity["add_time"], key: @activity["id"], member: {} }, identity: { source: "pipedrive" } } hash[:activity][:member].merge!(construct_member) hash[:activity][:member].merge!(company: @activity["org_name"]) unless @activity["org_name"].nil? hash[:identity].merge!(construct_member) hash end
construct_description()
click to toggle source
# File lib/pipedrive_orbit/interactions/activity.rb, line 61 def construct_description if @activity["note"] return @activity["note"] end "#{@activity["subject"]} was added by #{@activity["owner_name"]}" end
construct_member()
click to toggle source
# File lib/pipedrive_orbit/interactions/activity.rb, line 26 def construct_member hash = { name: @activity["person_name"] } unless @activity["person_name"].nil? return hash unless hash.nil? if !@activity["attendees"].nil? hash = { email: @activity["attendees"][0]["email_address"] } end hash end