Class: AwsIp::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/aws_ip/base.rb

Instance Method Summary collapse

Constructor Details

#initializeBase

Returns a new instance of Base.



5
6
7
8
# File 'lib/aws_ip/base.rb', line 5

def initialize
  @range = Range.new
  @ranges ||= @range.get
end

Instance Method Details

#envObject



19
20
21
22
# File 'lib/aws_ip/base.rb', line 19

def env
  "syncToken : #{@ranges['syncToken']}\n" \
  "createDate: #{@ranges['createDate']}\n\n"
end

#fetch(ip_address) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/aws_ip/base.rb', line 24

def fetch(ip_address)
  ip = parse(ip_address)
  @ranges['prefixes'].find_all do |prefix|
    prefix_ip = IPAddress(prefix['ip_prefix'])
    prefix_ip.include?(ip)
  end
end

#include?(ip_address) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
38
39
# File 'lib/aws_ip/base.rb', line 32

def include?(ip_address)
  ip = parse(ip_address)
  result = @ranges['prefixes'].find do |prefix|
    prefix_ip = IPAddress(prefix['ip_prefix'])
    prefix_ip.include?(ip)
  end
  !!result
end

#rangesObject Also known as: all_ranges



14
15
16
# File 'lib/aws_ip/base.rb', line 14

def ranges
  @ranges['prefixes']
end

#updateObject



10
11
12
# File 'lib/aws_ip/base.rb', line 10

def update
  @ranges = @range.get
end