module Vkdonate
Main module
Constants
- ACTIONS
Array of available actions
- ORDER
Array of available order-by
- REQUEST_TIMEOUT
Requests timeout in seconds
- REQUEST_URI
URI for requests
- SORT
Array of available sort-by
- TIME_OFFSET
Time offset of API server
- VERSION
Gem version
Public Class Methods
donates(api_key, **options)
click to toggle source
POST request for donates
action @param api_key [String] @!macro request_option @see Vkdonate.request
@return [Array]
# File lib/vkdonate.rb, line 73 def donates(api_key, **options) request(api_key, :donates, **options) end
request(api_key, action, count: 10, offset: 0, sort: :date, order: :desc)
click to toggle source
Simple POST request to API @param api_key [String] @param action [Symbol] @!macro request_option @see Vkdonate::ACTIONS
@return [Array]
# File lib/vkdonate.rb, line 55 def request(api_key, action, count: 10, offset: 0, sort: :date, order: :desc) validate_request_options(action, count, offset, sort, order) res = Net::HTTP.post_form(REQUEST_URI, key: api_key, action: action.to_s, count: count, offset: offset, sort: sort.to_s, order: order.to_s) json = JSON.parse res.body raise json['text'] unless json['success'] json['donates'].map { |e| Donate.from_json(e) } end
Private Class Methods
validate_request_options(action, count, offset, sort, order)
click to toggle source
# File lib/vkdonate.rb, line 79 def validate_request_options(action, count, offset, sort, order) raise 'Unknown action' unless ACTIONS.include? action raise 'Count is out of range' unless count >= 1 && count <= 50 raise 'Offset is out of range' unless offset >= 0 raise 'Unknown sorting' unless SORT.include? sort raise 'Unknown ordering' unless ORDER.include? order end