Sha256: 5e56876e3d6e62b2d1b740383bbc12e94c2b3a1ebddf6cbfeec5663b50975872

Contents?: true

Size: 543 Bytes

Versions: 16

Compression:

Stored size: 543 Bytes

Contents

# frozen_string_literal: true

require "normalize_country"

module Mihari
  class Geolocation < ActiveRecord::Base
    belongs_to :artifact

    class << self
      #
      # Build Geolocation
      #
      # @param [String] ip
      #
      # @return [Mihari::Geolocation, nil]
      #
      def build_by_ip(ip)
        res = Enrichers::IPInfo.query(ip)

        unless res.nil?
          return new(country: NormalizeCountry(res.country_code, to: :short), country_code: res.country_code)
        end

        nil
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
mihari-4.7.1 lib/mihari/models/geolocation.rb
mihari-4.7.0 lib/mihari/models/geolocation.rb
mihari-4.6.1 lib/mihari/models/geolocation.rb
mihari-4.6.0 lib/mihari/models/geolocation.rb
mihari-4.5.3 lib/mihari/models/geolocation.rb
mihari-4.5.2 lib/mihari/models/geolocation.rb
mihari-4.5.1 lib/mihari/models/geolocation.rb
mihari-4.5.0 lib/mihari/models/geolocation.rb
mihari-4.4.1 lib/mihari/models/geolocation.rb
mihari-4.4.0 lib/mihari/models/geolocation.rb
mihari-4.3.0 lib/mihari/models/geolocation.rb
mihari-4.2.0 lib/mihari/models/geolocation.rb
mihari-4.1.2 lib/mihari/models/geolocation.rb
mihari-4.1.1 lib/mihari/models/geolocation.rb
mihari-4.1.0 lib/mihari/models/geolocation.rb
mihari-4.0.0 lib/mihari/models/geolocation.rb