class AnalyticsEventsSender::Mixpanel

Constants

BASE_URL
SUCCESS_CODE

Public Instance Methods

call() click to toggle source
# File lib/analytics_events_sender/mixpanel.rb, line 12
def call
  response = HTTParty.post(prepared_url, format: :json)

  success?(response)
end
ininialize(user, params = {}) click to toggle source
# File lib/analytics_events_sender/mixpanel.rb, line 6
def ininialize(user, params = {})
  @user = user
  @params = params
  @event_name = params.dig(:notification_type)
end

Private Instance Methods

prepared_json() click to toggle source
# File lib/analytics_events_sender/mixpanel.rb, line 30
def prepared_json
  {
    event: @event_name,
    properties: {
      token: AnalyticsEventsSender.configuration.mixpanel.dig(:token),
      distinct_id: @user.id
    }.merge(@params)
  }
end
prepared_url() click to toggle source
# File lib/analytics_events_sender/mixpanel.rb, line 24
def prepared_url
  data = Base64.strict_encode64(prepared_json)

  "#{BASE_URL}?data=#{data}"
end
success?(response) click to toggle source
# File lib/analytics_events_sender/mixpanel.rb, line 20
def success?(response)
  response.parsed_response == SUCCESS_CODE
end