class Knot::Zone

Attributes

protocol[R]
zone[R]

Public Class Methods

new(zone, protocol = nil) click to toggle source
# File lib/knot/interface.rb, line 9
def initialize zone, protocol = nil
        @protocol = protocol || Protocol.new
        @zone, @transaction_opened = zone, 0
end

Public Instance Methods

[](owner = nil, type = nil)
Alias for: get
[]=(owner, ttl = nil, type, data)
Alias for: set
abort() click to toggle source
# File lib/knot/interface.rb, line 24
def abort
        @protocol.call command: 'zone-abort', zone: @zone
        @transaction_opened = 0
end
begin() click to toggle source
# File lib/knot/interface.rb, line 14
def begin
        @transaction_opened += 1
        @protocol.call command: 'zone-begin', zone: @zone  if 1 == @transaction_opened
end
check() click to toggle source

zone operation

# File lib/knot/interface.rb, line 41
def check()       @protocol.call command: 'zone-check', zone: @zone  end
commit() click to toggle source
# File lib/knot/interface.rb, line 19
def commit
        @protocol.call command: 'zone-commit', zone: @zone  if 1 == @transaction_opened
        @transaction_opened -= 1  if 0 < @transaction_opened
end
delete(owner, type = nil, data = nil)
Alias for: unset
diff() click to toggle source
# File lib/knot/interface.rb, line 58
def diff() @protocol.call command: 'zone-diff', zone: @zone end
freeze() click to toggle source
# File lib/knot/interface.rb, line 47
def freeze()      @protocol.call command: 'zone-freeze', zone: @zone  end
get(owner = nil, type = nil) click to toggle source
# File lib/knot/interface.rb, line 76
def get owner = nil, type = nil
        @protocol.call command: 'zone-get',
                zone: @zone, owner: owner, type: type
rescue Knot::Errors::ENONODE, Knot::Errors::ENOENT
        nil
end
Also aliased as: []
notify() click to toggle source
# File lib/knot/interface.rb, line 44
def notify()      @protocol.call command: 'zone-notify', zone: @zone  end
read() click to toggle source

zone manipulation

# File lib/knot/interface.rb, line 57
def read() @protocol.call command: 'zone-read', zone: @zone end
refresh() click to toggle source
# File lib/knot/interface.rb, line 43
def refresh()     @protocol.call command: 'zone-refresh', zone: @zone  end
reload() click to toggle source
# File lib/knot/interface.rb, line 42
def reload()      @protocol.call command: 'zone-reload', zone: @zone  end
retransfer() click to toggle source
# File lib/knot/interface.rb, line 45
def retransfer()  @protocol.call command: 'zone-retransfer', zone: @zone  end
set(owner, ttl = nil, type, data) click to toggle source

setting record if data is nil, it will be unset.

# File lib/knot/interface.rb, line 62
def set owner, ttl = nil, type, data
        @protocol.call command: data.nil? ? 'zone-unset' : 'zone-set',
                zone: @zone, owner: owner, ttl: ttl, type: type, data: data
rescue Knot::Errors::EISRECORD, Knot::Errors::ENONODE, Knot::Errors::ENOENT
end
Also aliased as: []=
sign() click to toggle source
# File lib/knot/interface.rb, line 46
def sign()        @protocol.call command: 'zone-sign', zone: @zone  end
stats( modul = nil, counter = nil) click to toggle source
# File lib/knot/interface.rb, line 51
def stats( modul = nil, counter = nil)
        @protocol.call command: 'zone-stats', zone: @zone, module: modul, counter: counter
end
status( filter = nil) click to toggle source
# File lib/knot/interface.rb, line 49
def status( filter = nil)  @protocol.call command: 'zone-status', zone: @zone, filter: filter  end
thaw() click to toggle source
# File lib/knot/interface.rb, line 48
def thaw()        @protocol.call command: 'zone-thaw', zone: @zone  end
transaction() { |self| ... } click to toggle source
# File lib/knot/interface.rb, line 29
def transaction
        self.begin
        yield self
rescue Object
        self.abort
        raise
ensure
        self.commit  unless $!
end
unset(owner, type = nil, data = nil) click to toggle source
# File lib/knot/interface.rb, line 69
def unset owner, type = nil, data = nil
        @protocol.call command: 'zone-unset',
                zone: @zone, owner: owner, type: type, data: data
rescue Knot::Errors::ENONODE, Knot::Errors::ENOENT
end
Also aliased as: delete