Class: Mihari::Structs::MMDB::Response

Inherits:
Dry::Struct
  • Object
show all
Defined in:
lib/mihari/structs/mmdb.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#itemsArray<Item> (readonly)

Returns:



73
# File 'lib/mihari/structs/mmdb.rb', line 73

attribute :items, Types.Array(Item)

Class Method Details

.from_dynamic!(d) ⇒ Object



106
107
108
109
110
# File 'lib/mihari/structs/mmdb.rb', line 106

def from_dynamic!(d)
  new(
    items: d.map { |x| Item.from_dynamic!(x) }
  )
end

Instance Method Details

#asnInteger?

Returns:

  • (Integer, nil)


85
86
87
# File 'lib/mihari/structs/mmdb.rb', line 85

def asn
  item&.country&.autonomous_system_number&.to_i
end

#country_codeString?

Returns:

  • (String, nil)


92
93
94
# File 'lib/mihari/structs/mmdb.rb', line 92

def country_code
  item&.country&.iso_code
end

#itemItem?

Returns:



78
79
80
# File 'lib/mihari/structs/mmdb.rb', line 78

def item
  items.find { |item| item.country.autonomous_system_number }
end

#locString?

Returns:

  • (String, nil)


99
100
101
102
103
# File 'lib/mihari/structs/mmdb.rb', line 99

def loc
  return nil if item.nil?

  [item.country_info.latitude, item.country_info.longitude].join(",")
end