Sha256: c852748ea93190b202b1f80e7765141996a8acc1a7a788bfbe461cc344b7d094
Contents?: true
Size: 1 KB
Versions: 3
Compression:
Stored size: 1 KB
Contents
module CitrusMail class Response attr_accessor :http_response, :code, :freshmail_response def self.build_from_http_response(http_response) response = self.new() response.http_response = http_response response.process_http_response response end def process_http_response if http_response.code.to_i == 200 and res = (r = http_response.body.match(/\<response\>(.*)\<\/response\>/) and r[1]) self.freshmail_response = res self.code = res.to_i if code > 100 raise InvalidListKey.new(code) if code == 101 raise InvalidAPIKey.new(code) if code == 104 raise EmailExists.new(code) if code == 201 raise InvalidEmail.new(code) if code == 202 raise SubscriberNotExists.new(code) if code == 206 raise CitrusMailError.new(code) end else raise RequestFailed end end def parse_json_freshmail_response ActiveSupport::JSON.decode freshmail_response end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
citrus-mail-0.2.1 | lib/citrus_mail/response.rb |
citrus-mail-0.2.0 | lib/citrus_mail/response.rb |
citrus-mail-0.1.0 | lib/citrus_mail/response.rb |