class AwsIp::Base

Public Class Methods

new() click to toggle source
# File lib/aws_ip/base.rb, line 5
def initialize
  @range = Range.new
  @ranges ||= @range.get
end

Public Instance Methods

all_ranges()
Alias for: ranges
env() click to toggle source
# File lib/aws_ip/base.rb, line 19
def env
  "syncToken : #{@ranges['syncToken']}\n" \
  "createDate: #{@ranges['createDate']}\n\n"
end
fetch(ip_address) click to toggle source
# 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) click to toggle source
# 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
ranges() click to toggle source
# File lib/aws_ip/base.rb, line 14
def ranges
  @ranges['prefixes']
end
Also aliased as: all_ranges
update() click to toggle source
# File lib/aws_ip/base.rb, line 10
def update
  @ranges = @range.get
end

Private Instance Methods

parse(ip_address) click to toggle source
# File lib/aws_ip/base.rb, line 42
def parse(ip_address)
  IPAddress(ip_address)
rescue => e
  puts e.stacktrace if ENV['DEBUG']
  abort e.message
end