class Ec2Meta::Api20140225::MetaData::Interfaces

Public Instance Methods

macs(mac = nil) click to toggle source
# File lib/ec2_meta/apis/2014_02_25/meta_data.rb, line 56
def macs(mac = nil)
  case mac
  when ::String
    mac_address_for(mac)
  when ::Integer
    mac_address_at(mac)
  when nil
    fetch_macs
  else
    ::Kernel.raise ::ArgumentError, 'require String or Integer, or nil.'
  end
end

Private Instance Methods

fetch_macs() click to toggle source
# File lib/ec2_meta/apis/2014_02_25/meta_data.rb, line 71
def fetch_macs
  result = fetch('macs/')
  (result.nil? ? [] : result.split("\n").map { |v| v.chomp('/') })
end
mac_address_at(position) click to toggle source
# File lib/ec2_meta/apis/2014_02_25/meta_data.rb, line 80
def mac_address_at(position)
  addr = fetch_macs.at(position)
  return nil if addr.nil?

  mac_address_for(addr)
end
mac_address_for(address) click to toggle source
# File lib/ec2_meta/apis/2014_02_25/meta_data.rb, line 76
def mac_address_for(address)
  MacAddress.new(fetcher, new_prefix("macs/#{address}"), address)
end