Sha256: c5d9aaaac40b924f76bc1b2a648c62028a4ca112764074761f1cbd8030666a75

Contents?: true

Size: 533 Bytes

Versions: 3

Compression:

Stored size: 533 Bytes

Contents

require 'google/book/entry'

module Google
  module Book
    class Response
      include Enumerable

      def initialize(hash)
        @feed = hash['feed']
      end

      def each(&block)
        members.each do |member|
          block.call(Entry.new(member))
        end
      end

      def total_results
        @feed['openSearch:totalResults'].to_i
      end

      private

      def members
        if total_results == 0
          []
        else
          [@feed['entry']].flatten
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
google-book-0.4.0 lib/google/book/response.rb
google-book-0.3.3 lib/google/book/response.rb
google-book-0.3.2 lib/google/book/response.rb