Class: SmartsApi::EvaluateMessage
- Inherits:
-
Message
- Object
- Message
- SmartsApi::EvaluateMessage
show all
- Defined in:
- lib/smarts_api/message/evaluate_message.rb
Instance Method Summary
collapse
Methods inherited from Message
#encode_hash, #hex_string_to_ascii, #log, #make_form, #method, #sign_request, #timestamp
Instance Method Details
#request_document(session, obj_hash, decision) ⇒ Object
39
40
41
42
43
|
# File 'lib/smarts_api/message/evaluate_message.rb', line 39
def request_document(session, obj_hash, decision)
doc = {:OperationId =>1 , :Header => {:SessionId => session, :DecisionId => decision}, :Body => {:Documents => []}}
doc[:Body][:Documents] = obj_hash
return doc.to_json
end
|
#request_params(session, obj_hash, decision) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/smarts_api/message/evaluate_message.rb', line 26
def request_params(session, obj_hash, decision)
params = {
:appId => SmartsApi::Configuration.app_id,
:reqData => request_document(session, obj_hash, decision),
:reqTime => timestamp,
:session => session
}
signature = {
:sign => sign_request(params)
}
return params.merge(signature)
end
|
#send(session, obj_hash, decision) ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/smarts_api/message/evaluate_message.rb', line 3
def send(session, obj_hash, decision)
body = make_form(request_params(session, obj_hash, decision))
log "Evaluating"
response = Typhoeus::Request.post(uri,
:method => method,
:headers => {:Accept => "text/json"},
:body => body
)
raise SmartsApi::Error, "Rules Evaluation failed failed. Recieved empty reply" if response.nil? || response.body.blank?
reply = JSON.parse(response.body)
raise SmartsApi::Error, "Rules Evaluation failed failed. Received malformed response." unless reply["Header"] && ["Body"]
body = reply["Body"]
if body.blank?
log "Rules Engine Evaluation failed. \n\n #{body} \n\n #{response.body}"
raise SmartsApi::Error, "Rules Evaluation failed. Returned JSON is blank."
end
return body
end
|
#uri ⇒ Object
45
46
47
|
# File 'lib/smarts_api/message/evaluate_message.rb', line 45
def uri
"#{super}evaluate"
end
|