module SendCloud

Constants

API_BASE
VERSION

Attributes

api_key[RW]
api_user[RW]

Public Class Methods

get(path, params, necessary = []) click to toggle source
# File lib/send-cloud.rb, line 59
def self.get(path, params, necessary = [])
  request(path, params, necessary) do |url, options|
    RestClient.get(url, {params: options})
  end
end
post(path, params, necessary = []) click to toggle source
# File lib/send-cloud.rb, line 65
def self.post(path, params, necessary = [])
  request(path, params, necessary) do |url, options|
    RestClient.post(url, options)
  end
end
request(path, params, necessary) { |url, params| ... } click to toggle source
# File lib/send-cloud.rb, line 71
def self.request(path, params, necessary, &block)
  params = { apiUser: SendCloud.api_user, apiKey: SendCloud.api_key }.merge(params)

  needed_keys = necessary - params.keys
  if needed_keys != []
    return {
      'result' => false,
      'statusCode' => -1,
      'message' => "缺少必填参数:#{needed_keys.join(',')}"
    }
  end

  url = "#{API_BASE}/#{path}"
  begin
    return JSON.parse(yield(url, params))
  rescue JSON::ParserError
    raise SendCloud::Error.new('send-cloud response invalid')
  end
end
setup() { |self| ... } click to toggle source
# File lib/send-cloud.rb, line 51
def self.setup
  yield self
end