Sha256: 1b7692a906ef2d1fad33acaa2ee95ffe4ff0d3a1a701b946e0e23bd430d5aa86
Contents?: true
Size: 1.06 KB
Versions: 1
Compression:
Stored size: 1.06 KB
Contents
require 'rest-client' require 'sendcloud/mail' require 'sendcloud/mail_list' require 'sendcloud/stats' require 'sendcloud/unsubscribes' require 'sendcloud/bounces' require 'sendcloud/version' module Sendcloud API_BASE = 'https://sendcloud.sohu.com/webapi' class Error < StandardError; end def self.setup yield self end class << self attr_accessor :api_user, :api_key, :format end def self.get(path, params) request(path, params) do |url, options| RestClient.get(url, {:params => options}) end end def self.post(path, params) request(path, params) do |url, options| RestClient.post(url, options) end end def self.request(path, params, &block) params = { :api_user => Sendcloud.api_user, :api_key => Sendcloud.api_key, }.merge(params) format = params.delete(:format) || 'json' url = "#{API_BASE}/#{path}.#{format}" begin return JSON.parse(yield(url, params)) rescue JSON::ParserError raise Sendcloud::Error.new('sendcloud response invalid') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sendcloud-0.1.0 | lib/sendcloud.rb |