7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/irus_analytics/controller/analytics_behaviour.rb', line 7
def send_analytics
logger = Logger.new(STDOUT) if logger.nil?
if request.nil?
logger.warn("IrusAnalytics::Controller::AnalyticsBehaviour.send_analytics exited: Request object is nil.")
else
unless filter_request?(request)
client_ip = request.remote_ip if request.respond_to?(:remote_ip)
user_agent = request.user_agent if request.respond_to?(:user_agent)
file_url = request.url if request.respond_to?(:url)
referer = request.referer if request.respond_to?(:referer)
datetime = datetime_stamp
source_repository = source_repository_name
identifier = self.item_identifier if self.respond_to?(:item_identifier)
analytics_params = { date_stamp: datetime, client_ip_address: client_ip, user_agent: user_agent, item_oai_identifier: identifier, file_url: file_url,
http_referer: referer, source_repository: source_repository }
if irus_server_address.nil?
if rails_environment == "development" || rails_environment == "test"
logger.debug("IrusAnalytics::ControllerBehaviour.send_irus_analytics params extracted #{analytics_params}")
else
logger.error("IrusAnalytics::Controller::AnalyticsBehaviour.send_analytics exited: Irus Server address is not set.")
end
else
begin
Resque.enqueue(IrusClient, irus_server_address, analytics_params)
rescue Exception => e
logger.error("IrusAnalytics::Controller::AnalyticsBehaviour.send_analytics error: Problem enquing the analytics with Resque. Error: #{e}")
end
end
end
end
end
|