Class: RedCross::Trackers::HttpTracker
- Inherits:
-
Base
- Object
- Base
- RedCross::Trackers::HttpTracker
show all
- Defined in:
- lib/red_cross/trackers/http_tracker.rb
Defined Under Namespace
Classes: FailedPushingToEventbus
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Logging
#log, logger
Constructor Details
Returns a new instance of HttpTracker.
17
18
19
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 17
def initialize(host)
@eventbus_host = host
end
|
Instance Attribute Details
#eventbus_host ⇒ Object
Returns the value of attribute eventbus_host.
15
16
17
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 15
def eventbus_host
@eventbus_host
end
|
Instance Method Details
#eventbus_request(request_url, params, method = :get) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 37
def eventbus_request(request_url, params, method = :get)
request = Typhoeus::Request.new(
request_url,
method: method,
params: method == :get ? params : {},
body: method == :post ? params.to_json : {}
)
request.on_complete do |response|
if response.success?
return true
else
raise FailedPushingToEventbus.new(response.response_code ,request_url, response.return_code)
end
end
request.run
end
|
#flush ⇒ Object
29
30
31
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 29
def flush
{}
end
|
#group(attrs, additional_args = {}) ⇒ Object
33
34
35
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 33
def group(attrs, additional_args = {})
{}
end
|
#identify(attrs, additional_args = {}) ⇒ Object
25
26
27
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 25
def identify(attrs, additional_args = {})
{}
end
|
#track(route, attrs, additional_args = {}) ⇒ Object
21
22
23
|
# File 'lib/red_cross/trackers/http_tracker.rb', line 21
def track(route, attrs, additional_args = {})
eventbus_request(@eventbus_host + route, attrs.merge(additional_args), :post)
end
|