class Vkponchik::Client
API client class
Constants
- API_BASE
- API_HEADERS
- API_METHODS
- API_VERSION
Public Class Methods
new(group, token)
click to toggle source
Initialize new client @param group [Integer] group ID @param token [String] group API token
# File lib/vkponchik/client.rb, line 21 def initialize(group, token) @group = group @token = token end
Public Instance Methods
request(method, **params)
click to toggle source
Send POST request to API server @param method [String] see {API_METHODS} array @param params [Hash] parameters to pass in POST request @return [Hash]
# File lib/vkponchik/client.rb, line 30 def request(method, **params) validate_request_options(method, **params) params[:v] = API_VERSION params[:group] = @group params[:token] = @token uri = URI("#{API_BASE}/#{method}") re = Net::HTTP.post(uri, params.to_json, API_HEADERS) Response.new(JSON.parse(re.body)) rescue StandardError raise Vkponchik::Error, 'Request failure' end
Private Instance Methods
validate_request_options(method, **_params)
click to toggle source
# File lib/vkponchik/client.rb, line 47 def validate_request_options(method, **_params) raise Vkponchik::Error, 'Invalid request method' unless API_METHODS.include?(method) end