Sha256: 7ffd90206b6c8b7027c32d77254248cfd2b1a0727afcf594a28853f6ada3d35c

Contents?: true

Size: 767 Bytes

Versions: 12

Compression:

Stored size: 767 Bytes

Contents

module Ahoy
  class GeocodeV2Job < ActiveJob::Base
    queue_as { Ahoy.job_queue }

    def perform(visit_token, ip)
      location =
        begin
          Geocoder.search(ip).first
        rescue => e
          Ahoy.log "Geocode error: #{e.class.name}: #{e.message}"
          nil
        end

      if location && location.country.present?
        data = {
          country: location.country,
          region: location.try(:state).presence,
          city: location.try(:city).presence,
          postal_code: location.try(:postal_code).presence,
          latitude: location.try(:latitude).presence,
          longitude: location.try(:longitude).presence
        }

        Ahoy::Tracker.new(visit_token: visit_token).geocode(data)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
ahoy_matey-3.2.0 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.1.0 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.5 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.4 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.3 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.2 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.1 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-3.0.0 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-2.2.1 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-2.2.0 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-2.1.0 app/jobs/ahoy/geocode_v2_job.rb
ahoy_matey-2.0.2 app/jobs/ahoy/geocode_v2_job.rb