class Beget::API
Constants
- API_URI
Public Class Methods
new(login, password)
click to toggle source
# File lib/beget_api.rb, line 12 def initialize(login, password) @login = login @password = password end
Public Instance Methods
method_missing(method)
click to toggle source
# File lib/beget_api.rb, line 17 def method_missing(method) Section.new(self, method) end
request(section, method, **data)
click to toggle source
# File lib/beget_api.rb, line 25 def request(section, method, **data) query = { login: @login, passwd: @password, output_format: 'json' } unless data.empty? query.merge!( { input_format: 'json', input_data: JSON.generate(data) } ) end uri = "#{API_URI}/#{section}/#{method}?#{URI.encode_www_form(query)}" response = Net::HTTP.get_response(URI(uri)) raise HTTPError, response.code unless response.is_a?(Net::HTTPSuccess) response_data = JSON.parse(response.body) if response_data['status'] == 'error' raise RequestError.new( response_data['error_code'], response_data['error_text'] ) end raise AnswerError, response_data['answer']['errors'] if response_data['answer']['status'] == 'error' response_data['answer']['result'] end
respond_to_missing?()
click to toggle source
# File lib/beget_api.rb, line 21 def respond_to_missing? true end