Sha256: 1e6aacd069216f957f6a7d32b23291d252c4e2e6785569028dd183880772ea61
Contents?: true
Size: 1.72 KB
Versions: 3
Compression:
Stored size: 1.72 KB
Contents
require 'ostruct' module Mailgun # A Mailgun::Response object is instantiated for each response generated # by the Client request. The Response object supports deserialization of # the JSON result. Or, if you prefer JSON or YAML formatting, call the # method for conversion. # # See the Github documentation for full examples. class Response # All responses have a payload and a code corresponding to http, though # slightly different attr_accessor :body, :code def self.from_hash(h) # Create a "fake" response object with the data passed from h self.new OpenStruct.new(h) end def initialize(response) @body = response.body @code = response.code end # Return response as Ruby Hash # # @return [Hash] A standard Ruby Hash containing the HTTP result. def to_h JSON.parse(@body) rescue => err raise ParseError.new(err), err end # Replace @body with Ruby Hash # # @return [Hash] A standard Ruby Hash containing the HTTP result. def to_h! @body = JSON.parse(@body) rescue => err raise ParseError.new(err), err end # Return response as Yaml # # @return [String] A string containing response as YAML def to_yaml YAML.dump(to_h) rescue => err raise ParseError.new(err), err end # Replace @body with YAML # # @return [String] A string containing response as YAML def to_yaml! @body = YAML.dump(to_h) rescue => err raise ParseError.new(err), err end # Returns true if response code is 2xx # # @return [Boolean] A boolean that binarizes the response code result. def success? (200..299).include?(code) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mailgun-ruby-1.2.14 | lib/mailgun/response.rb |
mailgun-ruby-1.2.13 | lib/mailgun/response.rb |
mailgun-ruby-1.2.12 | lib/mailgun/response.rb |