Class: QueueIt::IntegrationEvaluator
- Inherits:
-
Object
- Object
- QueueIt::IntegrationEvaluator
- Defined in:
- lib/queueit_knownuserv3/integration_config_helpers.rb
Instance Method Summary collapse
- #evaluateTrigger(trigger, currentPageUrl, request) ⇒ Object
- #evaluateTriggerPart(triggerPart, currentPageUrl, request) ⇒ Object
- #getMatchedIntegrationConfig(customerIntegration, currentPageUrl, request) ⇒ Object
Instance Method Details
#evaluateTrigger(trigger, currentPageUrl, request) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/queueit_knownuserv3/integration_config_helpers.rb', line 26 def evaluateTrigger(trigger, currentPageUrl, request) if (!trigger.key?("LogicalOperator") || !trigger.key?("TriggerParts") || !trigger["TriggerParts"].kind_of?(Array)) return false; end if(trigger["LogicalOperator"].eql? "Or") trigger["TriggerParts"].each do |triggerPart| if(!triggerPart.kind_of?(Hash)) return false end if(evaluateTriggerPart(triggerPart, currentPageUrl, request)) return true end end return false else trigger["TriggerParts"].each do |triggerPart| if(!triggerPart.kind_of?(Hash)) return false end if(!evaluateTriggerPart(triggerPart, currentPageUrl, request)) return false end end return true end end |
#evaluateTriggerPart(triggerPart, currentPageUrl, request) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/queueit_knownuserv3/integration_config_helpers.rb', line 56 def evaluateTriggerPart(triggerPart, currentPageUrl, request) if (!triggerPart.key?("ValidatorType")) return false end case triggerPart["ValidatorType"] when "UrlValidator" return UrlValidatorHelper.evaluate(triggerPart, currentPageUrl) when "CookieValidator" return CookieValidatorHelper.evaluate(triggerPart, request.) when "UserAgentValidator" return UserAgentValidatorHelper.evaluate(triggerPart, request.user_agent) when "HttpHeaderValidator" return HttpHeaderValidatorHelper.evaluate(triggerPart, request.headers) else return false end end |
#getMatchedIntegrationConfig(customerIntegration, currentPageUrl, request) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/queueit_knownuserv3/integration_config_helpers.rb', line 5 def getMatchedIntegrationConfig(customerIntegration, currentPageUrl, request) if (!customerIntegration.kind_of?(Hash) || !customerIntegration.key?("Integrations") || !customerIntegration["Integrations"].kind_of?(Array)) return nil; end customerIntegration["Integrations"].each do |integrationConfig| next if !integrationConfig.kind_of?(Hash) || !integrationConfig.key?("Triggers") || !integrationConfig["Triggers"].kind_of?(Array) integrationConfig["Triggers"].each do |trigger| if(!trigger.kind_of?(Hash)) return false end if(evaluateTrigger(trigger, currentPageUrl, request)) return integrationConfig end end end return nil end |