Sha256: 350ae18accd45395f53ce5d59dbd8330d25df903339397c7bd2f028f327f20ce

Contents?: true

Size: 851 Bytes

Versions: 1

Compression:

Stored size: 851 Bytes

Contents

##
# NPR::API::Response
#
# Wrapper around a Faraday response object
# Pass in the full response object from Faraday
#
module NPR
  module API
    class Response
      include NPR::Concern::Relation
      
      has_many "messages", :key => "message", :class_name => NPR::API::Message
      attr_reader :raw, :version, :messages, :list

      #--------------------------
      
      def initialize(response)
        create_relations(response)
        
        @_response = response
        @raw       = response.body
        
        @version  = @raw["version"]
                
        if list = @raw["list"]
          @list = NPR::Entity::List.new(list)
        end
        
        Array.wrap(@raw["message"]).each do |message|
          @messages.push NPR::API::Message.new(message)
        end
      end
    end # Response
  end # API
end # NPR

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
npr-1.1.0 lib/npr/api/response.rb