require 'ipaddr' class Raven class IpTrackerController get '/' do ip_addresses = IpAddress.all() ip_addresses.sort! { |a,b| IPAddr.new( a.address ) <=> IPAddr.new( b.address ) } erb :'ip/ip-tracker', :locals => { :title => 'IP Tracker', :ip_addresses => ip_addresses } end get '/add' do erb :'ip/add', :locals => { :title => 'Add IP Address' } end post '/add' do ip = IpAddress.create( address: params[:ip_address], dns_name: params[:ip_dns], comment: params[:ip_comment] ) redirect '/ip-tracker' end get '/delete/:ip_id' do ip = IpAddress.where(id: params[:ip_id]).first() ip.delete() redirect '/ip-tracker' end end end