class VWO::Services::EventDispatcher
Constants
- EXCLUDE_KEYS
Public Class Methods
new(is_development_mode = false)
click to toggle source
Initialize the dispatcher with logger and development mode
@param [Boolean] : To specify whether the request
to our server should be made or not.
# File lib/vwo/services/event_dispatcher.rb, line 31 def initialize(is_development_mode = false) @logger = VWO::Logger.get_instance @is_development_mode = is_development_mode end
Public Instance Methods
dispatch(impression)
click to toggle source
Dispatch the impression event having properties object only if dev-mode is OFF
@param :properties hash having impression properties
the request to be dispatched to the VWO server
# File lib/vwo/services/event_dispatcher.rb, line 42 def dispatch(impression) return true if @is_development_mode modified_event = impression.reject do |key, _value| EXCLUDE_KEYS.include?(key) end resp = VWO::Utils::Request.get(impression['url'], modified_event) if resp.code == '200' true else @logger.log( LogLevelEnum::ERROR, format(LogMessageEnum::ErrorMessages::IMPRESSION_FAILED, file: FileNameEnum::EventDispatcher, end_point: impression['url']) ) false end rescue StandardError @logger.log( LogLevelEnum::ERROR, format(LogMessageEnum::ErrorMessages::IMPRESSION_FAILED, file: FileNameEnum::EventDispatcher, end_point: impression['url']) ) false end