Module: NginxTail::KnownIpAddresses

Included in:
LogLine
Defined in:
lib/ntail/known_ip_addresses.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

known IP addresses, for filtering and formatting purposes

e.g. office IP addresses, IP addresses of remote workers, …



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
# File 'lib/ntail/known_ip_addresses.rb', line 10

def self.included(base) # :nodoc:
  base.class_eval do

    @@known_ip_addresses = []

    # mainly (solely?) for testing purposes...
    def self.known_ip_addresses()
      @@known_ip_addresses.dup
    end

    # mainly (solely?) for testing purposes...
    def self.reset_known_ip_addresses()
      while !@@known_ip_addresses.empty? ; @@known_ip_addresses.pop ; end
    end

    def self.add_known_ip_address(known_ip_address)
      (@@known_ip_addresses << known_ip_address).uniq!
    end

    def self.known_ip_address?(remote_addr)
      @@known_ip_addresses.include?(remote_addr)
    end

    # this ensures the below module methods actually make sense...
    raise "Class #{base.name} should implement instance method 'remote_addr'" unless base.instance_methods.map(&:to_s).include? 'remote_addr'

  end
end

Instance Method Details

#known_ip_address?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/ntail/known_ip_addresses.rb', line 39

def known_ip_address?
  self.class.known_ip_address?(self.remote_addr)
end