#!/usr/bin/ruby -w

#====================================================================
# evento.rb - días que faltan, días que han pasado desde una fecha.
#--------------------------------------------------------------------
# Para trabajar con la clase DateTime 
#====================================================================
# FJA - neocipres@gmail.com		Junio de 2008
#====================================================================

require 'date'

def eventos_calendario(d, m, a)
  date = DateTime.now
  if  date.year == a
	evento = DateTime.new(date.year, m, d, date.hour, date.min, date.sec)
	dif = (evento-date).to_i
	if dif == 0
    	 puts "\n\t Hoy es el día !!! \n\n"
	elsif dif < 0
	 puts "\n\t Han pasado #{dif.abs} día#{"s" unless dif==1} del evento."
	 puts "\n\t Faltan #{dif + 365} día#{"s" unless dif==1} para el próximo evento. \n\n"
  	elsif dif > 0
    	 puts "\n\t Sólo faltan #{dif} día#{"s" unless dif==1} para la fecha señalada. \n\n"
  	end
  else
	evento = DateTime.new(a, m, d, date.hour, date.min, date.sec)
	dif = (evento-date).to_i.abs
	aos, dias = dif.divmod(365.25)		# DateTime trabaja en días
	dias = dias.round
	if evento > date
	 puts "\n\t Sólo faltan #{aos} año#{"s" unless aos==1} y #{dias} días para la fecha señalada. \n\n"
	else
 	 puts "\n\t Hace #{aos} año#{"s" unless aos==1} y #{dias} días que tuvo lugar el evento. \n\n"
	end
  end
  
end

begin
 dia, mes, ao = ARGV
 if ARGV.size > 2
	eventos_calendario(dia.to_i, mes.to_i, ao.to_i)
 else
	puts "\n\t #{"="*52} \n"
	puts "\n\t Uso: evento <dia> <mes> <año> \n"
	puts "\n\t evento es un enlace simbólico a evento.rb o cb10.rb \n"
	puts "\n\t #{"="*52} \n\n"
	
 end
rescue
 puts "\n\t Error->  #{$!} \n\n"
end