Module: Sift

Defined in:
lib/sift.rb,
lib/sift/error.rb,
lib/sift/client.rb,
lib/sift/router.rb,
lib/sift/version.rb,
lib/sift/client/decision.rb,
lib/sift/utils/hash_getter.rb,
lib/sift/validate/decision.rb,
lib/sift/validate/primitive.rb,
lib/sift/client/decision/apply_to.rb

Defined Under Namespace

Modules: Utils, Validate Classes: ApiError, Client, Error, Response, Router

Constant Summary collapse

VERSION =
"4.0.0"
API_VERSION =
"205"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.account_idObject

Returns the value of attribute account_id.



66
67
68
# File 'lib/sift.rb', line 66

def 
  @account_id
end

.api_keyObject

Returns the value of attribute api_key.



61
62
63
# File 'lib/sift.rb', line 61

def api_key
  @api_key
end

Class Method Details

.content_decisions_api_path(account_id, user_id, content_id) ⇒ Object

Returns the path for Content Decisions API



53
54
55
56
57
# File 'lib/sift.rb', line 53

def self.content_decisions_api_path(, user_id, content_id)
  "/v3/accounts/#{ERB::Util.url_encode()}" \
    "/users/#{ERB::Util.url_encode(user_id)}" \
    "/content/#{ERB::Util.url_encode(content_id)}/decisions"
end

.error(msg) ⇒ Object



83
84
85
# File 'lib/sift.rb', line 83

def self.error(msg)
  @logger.error(msg) if @logger
end

.fatal(msg) ⇒ Object



87
88
89
# File 'lib/sift.rb', line 87

def self.fatal(msg)
  @logger.fatal(msg) if @logger
end

.info(msg) ⇒ Object



75
76
77
# File 'lib/sift.rb', line 75

def self.info(msg)
  @logger.info(msg) if @logger
end

.logger=(logger) ⇒ Object

Sets the Output logger to use within the client. This can be left uninitializaed but is useful for debugging.



71
72
73
# File 'lib/sift.rb', line 71

def self.logger=(logger)
  @logger = logger
end

.order_decisions_api_path(account_id, order_id) ⇒ Object

Returns the path for Orders Decisions API



40
41
42
43
# File 'lib/sift.rb', line 40

def self.order_decisions_api_path(, order_id)
  "/v3/accounts/#{ERB::Util.url_encode()}" \
    "/orders/#{ERB::Util.url_encode(order_id)}/decisions"
end

.rest_api_path(version = API_VERSION) ⇒ Object

Returns the path for the specified API version



8
9
10
# File 'lib/sift.rb', line 8

def self.rest_api_path(version=API_VERSION)
  "/v#{version}/events"
end

.score_api_path(user_id, version = API_VERSION) ⇒ Object

Returns the Score API path for the specified user ID and API version



13
14
15
# File 'lib/sift.rb', line 13

def self.score_api_path(user_id, version=API_VERSION)
  "/v#{version}/score/#{ERB::Util.url_encode(user_id)}/"
end

.session_decisions_api_path(account_id, user_id, session_id) ⇒ Object

Returns the path for Session Decisions API



46
47
48
49
50
# File 'lib/sift.rb', line 46

def self.session_decisions_api_path(, user_id, session_id)
  "/v3/accounts/#{ERB::Util.url_encode()}" \
    "/users/#{ERB::Util.url_encode(user_id)}" \
    "/sessions/#{ERB::Util.url_encode(session_id)}/decisions"
end

.user_decisions_api_path(account_id, user_id) ⇒ Object

Returns the path for User Decisions API



34
35
36
37
# File 'lib/sift.rb', line 34

def self.user_decisions_api_path(, user_id)
  "/v3/accounts/#{ERB::Util.url_encode()}" \
    "/users/#{ERB::Util.url_encode(user_id)}/decisions"
end

.user_score_api_path(user_id, version = API_VERSION) ⇒ Object

Returns the User Score API path for the specified user ID and API version



18
19
20
# File 'lib/sift.rb', line 18

def self.user_score_api_path(user_id, version=API_VERSION)
  "/v#{version}/users/#{ERB::Util.url_encode(user_id)}/score"
end

.users_label_api_path(user_id, version = API_VERSION) ⇒ Object

Returns the users API path for the specified user ID and API version



23
24
25
# File 'lib/sift.rb', line 23

def self.users_label_api_path(user_id, version=API_VERSION)
  "/v#{version}/users/#{ERB::Util.url_encode(user_id)}/labels"
end

.warn(msg) ⇒ Object



79
80
81
# File 'lib/sift.rb', line 79

def self.warn(msg)
  @logger.warn(msg) if @logger
end

.workflow_status_path(account_id, run_id) ⇒ Object

Returns the path for the Workflow Status API



28
29
30
31
# File 'lib/sift.rb', line 28

def self.workflow_status_path(, run_id)
  "/v3/accounts/#{ERB::Util.url_encode()}" \
    "/workflows/runs/#{ERB::Util.url_encode(run_id)}"
end