Sha256: 5d83028e2673d3f1850ca26452cac245401b24340f958ff8dca2a800e29afa06

Contents?: true

Size: 564 Bytes

Versions: 6

Compression:

Stored size: 564 Bytes

Contents

# frozen_string_literal: true

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

    class << self
      include Dry::Monads[:result]

      #
      # Build CPEs
      #
      # @param [String] ip
      #
      # @return [Array<Mihari::CPE>]
      #
      def build_by_ip(ip)
        result = Enrichers::Shodan.query_result(ip).bind do |res|
          if res.nil?
            Success []
          else
            Success(res.cpes.map { |cpe| new(cpe: cpe) })
          end
        end
        result.value_or []
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mihari-5.4.9 lib/mihari/models/cpe.rb
mihari-5.4.8 lib/mihari/models/cpe.rb
mihari-5.4.7 lib/mihari/models/cpe.rb
mihari-5.4.6 lib/mihari/models/cpe.rb
mihari-5.4.5 lib/mihari/models/cpe.rb
mihari-5.4.4 lib/mihari/models/cpe.rb