class Controller

Public Class Methods

new(event, url, collection, limit, path, client_host, logger, generate_id) click to toggle source
# File lib/logstash/inputs/mongoprofile.rb, line 164
def initialize(event, url, collection, limit, path, client_host, logger, generate_id)
  @mongo_accessor = MongoAccessor.new(url, collection, client_host)
  @last_value_store = LastValueStore.new(path, collection)
  @document_parser = DocumentParser.new(event, logger)
  @generate_id = generate_id
  @limit = limit
  @logger = logger
end

Public Instance Methods

get_next_events() click to toggle source
# File lib/logstash/inputs/mongoprofile.rb, line 173
def get_next_events
  last_date_value = @last_value_store.get_last_value

  if last_date_value == ''
    @logger.info('Getting documents from mongo first time')
    documents = @mongo_accessor.get_documents(@limit)
  else
    @logger.info("Getting documents from mongo start at #{last_date_value}")
    documents = @mongo_accessor.get_documents_by_ts(last_date_value, @limit)
  end

  profile_collection = ProfileCollection.new(documents, @document_parser, @generate_id)

  if  profile_collection.get_last_document_date != nil
    @last_value_store.save_last_value(profile_collection.get_last_document_date)
  else
    @logger.info('Nothing to get...')
  end

  profile_collection
end