class Dennis::Client

Attributes

api[R]
api_key[R]
hostname[R]

Public Class Methods

new(hostname, api_key, **options) click to toggle source
# File lib/dennis/client.rb, line 17
def initialize(hostname, api_key, **options)
  @hostname = hostname
  @api_key = api_key

  @api = ApiaClient.load(hostname, namespace: 'api/v1', **options)
  @api.headers['Authorization'] = "Bearer #{api_key}"
end

Public Instance Methods

create_group(**opts) click to toggle source
# File lib/dennis/client.rb, line 37
def create_group(**opts)
  Group.create(self, **opts)
end
create_nameserver(**opts) click to toggle source
# File lib/dennis/client.rb, line 65
def create_nameserver(**opts)
  Nameserver.create(self, **opts)
end
group(id, field: :id) click to toggle source
# File lib/dennis/client.rb, line 33
def group(id, field: :id)
  Group.find_by(self, field, id)
end
groups(**opts) click to toggle source
# File lib/dennis/client.rb, line 29
def groups(**opts)
  Group.all(self, **opts)
end
nameserver(id, field: :id) click to toggle source
# File lib/dennis/client.rb, line 61
def nameserver(id, field: :id)
  Nameserver.find_by(self, field, id)
end
nameservers() click to toggle source
# File lib/dennis/client.rb, line 57
def nameservers
  Nameserver.all(self)
end
record(id, field: :id) click to toggle source
# File lib/dennis/client.rb, line 49
def record(id, field: :id)
  Record.find_by(self, field, id)
end
record_types() click to toggle source
# File lib/dennis/client.rb, line 25
def record_types
  RecordType.all(self)
end
tagged_records(tags, group: nil) click to toggle source
# File lib/dennis/client.rb, line 53
def tagged_records(tags, group: nil)
  Record.all_by_tag(self, tags, group: group)
end
zone(id, field: :id) click to toggle source
# File lib/dennis/client.rb, line 45
def zone(id, field: :id)
  Zone.find_by(self, field, id)
end
zones(**opts) click to toggle source
# File lib/dennis/client.rb, line 41
def zones(**opts)
  Zone.all(self, **opts)
end