class OzonApi::Client
Constants
- ApiError
- SUCCESS_STATUS
Public Class Methods
new(configuration)
click to toggle source
# File lib/ozon_api/client.rb, line 12 def initialize(configuration) @config = configuration end
Public Instance Methods
get(path, params = {})
click to toggle source
# File lib/ozon_api/client.rb, line 16 def get(path, params = {}) uri = URI("#{scheme}://#{host}/#{base_path}/#{path}/") uri.query = URI.encode_www_form(default_params.merge(params)) response = Net::HTTP.get(uri) if out out << "Ozon get:\n" out << uri.to_s out << "\n" out << "Ozon plain response:\n" out << response out << "\n" end parse_response(response) end
post(path, params)
click to toggle source
# File lib/ozon_api/client.rb, line 33 def post(path, params) query = URI.encode_www_form(default_params.merge(params)) uri = URI("#{scheme}://#{host}/#{base_path}/#{path}/?#{query}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Post.new(uri) response = http.request(request) if out out << "Ozon post:\n" out << uri.to_s out << "\n" out << "Ozon response:\n" out << response out << "\n" end parse_response(response.read_body) end
Private Instance Methods
base_path()
click to toggle source
# File lib/ozon_api/client.rb, line 65 def base_path @config.base_path end
debug()
click to toggle source
# File lib/ozon_api/client.rb, line 89 def debug @config.debug end
default_params()
click to toggle source
# File lib/ozon_api/client.rb, line 58 def default_params @default_params ||= { login: login, password: password }.freeze end
host()
click to toggle source
# File lib/ozon_api/client.rb, line 73 def host @config.host end
login()
click to toggle source
# File lib/ozon_api/client.rb, line 77 def login @config.login end
out()
click to toggle source
# File lib/ozon_api/client.rb, line 85 def out @config.out end
parse_response(data)
click to toggle source
# File lib/ozon_api/client.rb, line 93 def parse_response(data) result = JSON.parse(data) if out && debug out << "Ozon response json:\n" out << result out << "\n" end if result['Status'] == SUCCESS_STATUS && result['Error'].nil? result else raise ApiError, data end end
password()
click to toggle source
# File lib/ozon_api/client.rb, line 81 def password @config.password end
scheme()
click to toggle source
# File lib/ozon_api/client.rb, line 69 def scheme @config.scheme end