Module: Porkbun
- Defined in:
- lib/porkbun.rb,
lib/porkbun/version.rb
Defined Under Namespace
Classes: Abstract, Domain, Error, Record
Constant Summary
collapse
- VERSION =
"2.0.0"
Class Method Summary
collapse
Class Method Details
.new(domain) ⇒ Object
52
53
54
|
# File 'lib/porkbun.rb', line 52
def self.new(domain)
Domain.new(domain)
end
|
.ping ⇒ Object
48
49
50
|
# File 'lib/porkbun.rb', line 48
def self.ping
porkbun 'ping'
end
|
.porkbun(path, options = {}) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/porkbun.rb', line 11
def self.porkbun(path, options = {})
if ENV.fetch('PORKBUN_API_KEY', nil).nil? || ENV.fetch('PORKBUN_SECRET_API_KEY', nil).nil?
abort 'PORKBUN_API_KEY and PORKBUN_SECRET_API_KEY must be set'
end
uri = URI(File.join('https://api.porkbun.com/api/json/v3', path))
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
secretapikey: ENV.fetch('PORKBUN_SECRET_API_KEY', nil),
apikey: ENV.fetch('PORKBUN_API_KEY', nil)
}.merge(options).to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
http.request(request)
end
JSON.parse(res.body, symbolize_names: true)
end
|