module Transformation
Public Class Methods
execute(identified_session)
click to toggle source
Your code goes hereā¦
# File lib/log_analysis/transformation.rb, line 9 def self.execute(identified_session) map_uri = ['-'] transform = identified_session.each_with_object({}) do |v, hash| uries = v.records.map(&:uri) uries.each { |i| map_uri.push(i) unless map_uri.include?(i) } if hash.key?(v.user.host.to_s) uries.size == 1 ? hash[v.user.host.to_s] += v.records.map { |i| map_uri.index(i.uri) } : hash[v.user.host.to_s].push(v.records.map { |i| map_uri.index(i.uri) }) else hash.merge!(v.user.host.to_s => v.records.map { |i| map_uri.index(i.uri) }) end end File.open(LogAnalysis::MAP_URI_FILE_PATH, 'w+') { |f| f.write(map_uri.join(' ')) } transform end