IN: { “private”=> [{“addr”=>“10.7.206.171”, “version”=>4}, {“addr”=>“15.185.160.208”, “version”=>4}]} OUT: { “private”=> [{“addr”=>“10.7.206.171”, “version”=>4}],
"public"=> [{"addr"=>"15.185.160.208", "version"=>4}] }
# File lib/openstack/compute/address.rb, line 50 def self.fix_labels(addresses_info) addresses_info.inject({"public"=>[], "private"=>[]}) do |res, (label,address_struct_list)| address_struct_list.each do |address_struct| if(address_struct["version"==6])#v6 addresses are all routable... res["public"] << address_struct else is_private?(address_struct["addr"])? res["private"] << address_struct : res["public"] << address_struct end end res end end
# File lib/openstack/compute/address.rb, line 40 def self.is_private?(address_string) NON_ROUTABLE_ADDRESSES.each do |no_route| return true if no_route.include?(address_string) end false end
# File lib/openstack/compute/address.rb, line 27 def initialize(label, address, version = 4) @label = label if address.class == Hash then @address = address["addr"] @version = address["version"] else @address = address @version = version end end