class QueryData
Public Class Methods
new(logger, query)
click to toggle source
# File lib/logstash/inputs/azurewadtable.rb, line 253 def initialize(logger, query) @logger = logger @query = query @results_cache = Set.new end
Public Instance Methods
get_unique_id(entity)
click to toggle source
# File lib/logstash/inputs/azurewadtable.rb, line 263 def get_unique_id(entity) uniqueId = "" partitionKey = entity.properties["PartitionKey"] rowKey = entity.properties["RowKey"] uniqueId << partitionKey << "#" << rowKey return uniqueId end
has_entity(entity)
click to toggle source
# File lib/logstash/inputs/azurewadtable.rb, line 285 def has_entity(entity) return @results_cache.include?(get_unique_id(entity)) end
id()
click to toggle source
# File lib/logstash/inputs/azurewadtable.rb, line 259 def id return @query.id end
run_query(on_new_entity_cbk)
click to toggle source
# File lib/logstash/inputs/azurewadtable.rb, line 271 def run_query(on_new_entity_cbk) @query.reset @query.run( ->(entity) { uniqueId = get_unique_id(entity) if @results_cache.add?(uniqueId).nil? @logger.debug("[#{@query.id}][QueryData] #{uniqueId} already processed") else @logger.debug("[#{@query.id}][QueryData] #{uniqueId} new item") on_new_entity_cbk.call(entity) end }) end