class ApacheCrunch::ElementValueFetcher

Finds a value from an Entry. Value may be directly from log or derived.

Public Class Methods

new() click to toggle source
# File lib/element_value_fetcher.rb, line 4
def initialize
    @_RawValueFetcher = RawValueFetcher
    @_DerivedValueFetcher = DerivedValueFetcher
end

Public Instance Methods

dep_inject!(raw_value_fetcher_cls, derived_value_fetcher_cls) click to toggle source

Handles dependency injection

# File lib/element_value_fetcher.rb, line 10
def dep_inject!(raw_value_fetcher_cls, derived_value_fetcher_cls)
    @_RawValueFetcher = raw_value_fetcher_cls
    @_DerivedValueFetcher = derived_value_fetcher_cls
end
fetch(entry, element_name) click to toggle source

Returns the value of the element with the given name from the Entry instance.

So element_name might be :minute or :reqheader_firstline for instance.

# File lib/element_value_fetcher.rb, line 18
def fetch(entry, element_name)
    v = @_RawValueFetcher.new.fetch(entry, element_name)
    return v unless v.nil?

    v = @_DerivedValueFetcher.new.fetch(entry, element_name)
    return v unless v.nil?

    nil
end