Class: Mihari::TheHive::Artifact
- Defined in:
- lib/mihari/the_hive/artifact.rb
Instance Method Summary collapse
- #exists?(data:, data_type:) ⇒ true, false
- #find_non_existing_artifacts(artifacts) ⇒ Array<Mihari::Artifact>
- #search(data:, data_type:, range: "all") ⇒ Array
- #search_all(data:, range: "all") ⇒ Array
Methods inherited from Base
Instance Method Details
#exists?(data:, data_type:) ⇒ true, false
17 18 19 20 |
# File 'lib/mihari/the_hive/artifact.rb', line 17 def exists?(data:, data_type:) res = search(data: data, data_type: data_type, range: "0-1") !res.empty? end |
#find_non_existing_artifacts(artifacts) ⇒ Array<Mihari::Artifact>
23 24 25 26 27 28 29 30 |
# File 'lib/mihari/the_hive/artifact.rb', line 23 def find_non_existing_artifacts(artifacts) data = artifacts.map(&:data) results = search_all(data: data) keys = results.map { |result| result.dig("data") }.compact.uniq artifacts.reject do |artifact| keys.include? artifact.data end end |
#search(data:, data_type:, range: "all") ⇒ Array
7 8 9 |
# File 'lib/mihari/the_hive/artifact.rb', line 7 def search(data:, data_type:, range: "all") api.artifact.search({ data: data, data_type: data_type }, range: range) end |
#search_all(data:, range: "all") ⇒ Array
12 13 14 |
# File 'lib/mihari/the_hive/artifact.rb', line 12 def search_all(data:, range: "all") api.artifact.search({ data: data }, range: range) end |