Sha256: 16c808610bb8c48ac9c33029f3f30db7df858629f2564b733a15d682eec23883
Contents?: true
Size: 978 Bytes
Versions: 9
Compression:
Stored size: 978 Bytes
Contents
module Ecoportal module API module Common class WrappedResponse include Enumerable attr_reader :response, :result def initialize(response, klass) @response = response @klass = klass return unless @response.success? @result = if @response.body.is_a?(Array) @response.body.map do |doc| @klass.new(doc) end else @klass.new(@response.body) end end def body response.body.to_s end def each(&block) [*result].each(&block) end def status response.status.code end def success? response.success? end def print_pretty return each(&:print_pretty) if success? "Request failed." end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems