Sha256: 78442139cd0bb64d01a46b1df586a3e01230835bec475096ff3342ce0cb95275

Contents?: true

Size: 572 Bytes

Versions: 3

Compression:

Stored size: 572 Bytes

Contents

require "active_support/core_ext/string"

# LogFetcher Implementation requires two methods.
# - run (start log fetching asynchronously)
# - stop (stop log fetching)
module Wrapbox
  module LogFetcher
    def self.new(type, **options)
      raise "log_fetcher config needs `type`" unless type
      require "wrapbox/log_fetcher/#{type}"
      options = options.reject { |k, v| k == :type }
      self.const_get(type.camelize).new(**options)
    end

    def run(task:)
      raise NotImplementedError
    end

    def stop
      raise NotImplementedError
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wrapbox-0.10.0 lib/wrapbox/log_fetcher.rb
wrapbox-0.9.0 lib/wrapbox/log_fetcher.rb
wrapbox-0.8.2 lib/wrapbox/log_fetcher.rb