class Barr::Blocks::IP

Attributes

device[R]

Public Class Methods

new(opts = {}) click to toggle source
Calls superclass method Barr::Block::new
# File lib/barr/blocks/ip.rb, line 9
def initialize(opts = {})
  super
  @device = opts[:device] || 'lo'
  @version = opts[:ipv6] ? 'inet6' : 'inet'
end

Public Instance Methods

update!() click to toggle source
# File lib/barr/blocks/ip.rb, line 15
def update!
  ip = sys_cmd.split('/').first

  @output = "#{@device} > #{ip}"
end

Private Instance Methods

sys_cmd() click to toggle source
# File lib/barr/blocks/ip.rb, line 23
def sys_cmd
  `ip addr show #{@device} | grep '#{@version}\s' | awk '{print $2}'`.chomp
end