Hello to the list!
I have the following code which prints the ip's from fail2ban.log and puts then in an array:
- --------------------------
class ReadIPs
attr_accessor :ip
def initialize(ip)
@ip = ip
end
def ip(filename)
ips = []
File.read(filename).lines.to_a.each do |place|
sf = 0
while sfn = place.index(/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/,sf)
sf = sfn + 3
ips << $&
end
end
return ips
end
end
# print methods
a = ReadIPs.new("/Users/atma/Projects/ZoneReport/log/fail2ban.log")
puts a.ip("/Users/atma/Projects/ZoneReport/log/fail2ban.log")
- ---------------------------------
What I don't understand is why do I need to give the argument to the new instance of ReadIPs.new class. In my view the code should look like:
a = ReadIPs.new
puts a.ip("/Users/atma/Projects/ZoneReport/log/fail2ban.log")
- ----------------------------------
But this returns an error and does not run. Can someone please drop a few light here please
best regards & thanks in advance
Panagiotis (atmosx) Atmatzidis
email: atma@convalesco.org
URL: http://www.convalesco.org
GnuPG ID: 0xFC4E8BB4
gpg --keyserver x-hkp://pgp.mit.edu --recv-keys 0xFC4E8BB4
- --
The wise man said: "Never argue with an idiot. They bring you down to their level and beat you with experience."