Class: PDNS::API
- Inherits:
-
Object
- Object
- PDNS::API
- Defined in:
- lib/pdns_api/api.rb
Overview
The superclass for all PDNS objects.
Instance Attribute Summary collapse
-
#class ⇒ Object
readonly
The class of the resource object.
-
#url ⇒ Object
readonly
The url of the resource object.
Instance Method Summary collapse
-
#change(rrsets) ⇒ Hash
Changes this object’s information on the server.
-
#create(info = nil) ⇒ Hash
Creates this object on the server.
-
#delete ⇒ Hash
Deletes this object.
-
#ensure_array(item) ⇒ Array
Ensures the object is an array.
-
#get ⇒ Hash
Gets the information of this object from the API and use it to update the object’s information.
-
#info(info = nil) ⇒ Hash
Gets and sets the object information.
Instance Attribute Details
#class ⇒ Object (readonly)
Returns the class of the resource object.
32 33 34 |
# File 'lib/pdns_api/api.rb', line 32 def class @class end |
#url ⇒ Object (readonly)
Returns the url of the resource object.
28 29 30 |
# File 'lib/pdns_api/api.rb', line 28 def url @url end |
Instance Method Details
#change(rrsets) ⇒ Hash
Changes this object’s information on the server.
40 41 42 |
# File 'lib/pdns_api/api.rb', line 40 def change(rrsets) @http.put(@url, rrsets) end |
#create(info = nil) ⇒ Hash
Creates this object on the server
If info
is set this method updates the current information. The current information is used to create the object.
61 62 63 64 |
# File 'lib/pdns_api/api.rb', line 61 def create(info = nil) info(info) @http.post("#{@parent.url}/#{@class}", @info) end |
#delete ⇒ Hash
Deletes this object.
71 72 73 |
# File 'lib/pdns_api/api.rb', line 71 def delete @http.delete @url end |
#ensure_array(item) ⇒ Array
Ensures the object is an array. If it is not, an array containing the item is returned.
105 106 107 108 |
# File 'lib/pdns_api/api.rb', line 105 def ensure_array(item) return item if item.is_a? Array [item] end |
#get ⇒ Hash
Gets the information of this object from the API and use it to update the object’s information.
81 82 83 |
# File 'lib/pdns_api/api.rb', line 81 def get @info = @http.get @url end |
#info(info = nil) ⇒ Hash
Gets and sets the object information. This does not cause an API request.
92 93 94 95 96 |
# File 'lib/pdns_api/api.rb', line 92 def info(info = nil) return @info if info.nil? @info.merge!(info) end |