class Sqreen::Ecosystem::Tracing::Sampler::Line

Attributes

saved_definition[R]

Public Class Methods

new(definition) click to toggle source

@param [Hash{String=>Object}] definition

# File lib/sqreen/ecosystem/tracing/sampler.rb, line 32
def initialize(definition)
  @saved_definition = definition
  @primitives = []

  unknown = definition.keys - PRIMITIVES_MAP.keys
  unless unknown.empty?
    logger.warn "Unknown primitives: #{unknown}"
    @primitives << AlwaysFalsePrimitive.instance
    return
  end

  PRIMITIVES_MAP.each do |key, prim_class|
    next unless definition[key]
    @primitives << prim_class.new(definition[key])
  end
  # if @primitives is empty the line will always
  # return true: [].all?(&:triggers?) is true
end

Public Instance Methods

triggers?() click to toggle source
# File lib/sqreen/ecosystem/tracing/sampler.rb, line 51
def triggers?
  @primitives.all?(&:triggers?)
end