module Ab::MissingVariant

Public Instance Methods

method_missing(meth, *args, &block) click to toggle source
Calls superclass method
# File lib/ab/missing_variant.rb, line 3
def method_missing(meth, *args, &block)
  if variant_method?(meth)
    log_missing_variant(meth)
    false
  else
    super
  end
end
respond_to_missing?(meth, *) click to toggle source
Calls superclass method
# File lib/ab/missing_variant.rb, line 12
def respond_to_missing?(meth, *)
  variant_method?(meth) ? true : super
end

Private Instance Methods

log_missing_variant(meth) click to toggle source
# File lib/ab/missing_variant.rb, line 22
def log_missing_variant(meth)
  return unless name

  Ab.config.logger.debug("[AB_testing] Checking non-existing variant: #{name}##{meth}")
end
name() click to toggle source
# File lib/ab/missing_variant.rb, line 28
def name
  nil
end
variant_method?(meth) click to toggle source
# File lib/ab/missing_variant.rb, line 18
def variant_method?(meth)
  meth.to_s.end_with?('?')
end