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
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
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