class OnlineSim::Base
Constants
- HTTP_OK_CODE
Public Class Methods
new(apikey: nil, lang: 'en', dev_id: nil)
click to toggle source
# File lib/onlinesim/base.rb, line 17 def initialize(apikey: nil, lang: 'en', dev_id: nil) @apikey = apikey @lang = lang @dev_id = dev_id Faraday.ignore_env_proxy = true Faraday::Connection.prepend FaradayOverrides end
Protected Instance Methods
_get(endpoint: '', params: {})
click to toggle source
# File lib/onlinesim/base.rb, line 36 def _get(endpoint: '', params: {}) params['apikey'] = @apikey params['lang'] = @lang params['dev_id'] = @dev_id if @dev_id params['dev_id'] = @dev_id end resp = client.public_send("get", '/api/' + endpoint + '.php', params) parsed_response = Oj.load(resp.body) if resp.status == HTTP_OK_CODE def valid_json?(parsed_response) puts parsed_response['response'] if parsed_response.key?('response') and parsed_response['response'].to_s != '1' raise ApiError, parsed_response['response'] end if parsed_response.key?('response') parsed_response.delete('response') end rescue JSON::ParserError end return parsed_response end raise ApiError, "Code: #{resp.status}, response: #{resp.body}" end
valid_json?(parsed_response)
click to toggle source
# File lib/onlinesim/base.rb, line 48 def valid_json?(parsed_response) puts parsed_response['response'] if parsed_response.key?('response') and parsed_response['response'].to_s != '1' raise ApiError, parsed_response['response'] end if parsed_response.key?('response') parsed_response.delete('response') end rescue JSON::ParserError end
Private Instance Methods
client()
click to toggle source
# File lib/onlinesim/base.rb, line 27 def client @_client ||= Faraday.new('https://onlinesim.ru') do |client| client.request :url_encoded client.adapter Faraday.default_adapter client.headers['User-agent'] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" end end