Sha256: 5e59e6e12fd051cc7ec784b3840a92751d57c85cd593a8d0b358c620091c0ad6

Contents?: true

Size: 947 Bytes

Versions: 1

Compression:

Stored size: 947 Bytes

Contents

=begin rdoc
  Videojuicer::Resource::Collection is an array extension returned by many common actions within
  the Videojuicer SDK. Any request that returns paginated data, or a subset of your query results,
  will return a Collection object containing the object subset, with some additional pagination
  data.
=end

module Videojuicer
  module Resource
    class Collection < ::Array
      
      attr_accessor :limit
      attr_accessor :offset
      attr_accessor :total
      
      def initialize(objects, total, offset, limit)
        clear
        objects.each {|o| self << o }
        self.total = total
        self.offset = offset
        self.limit = limit
      end
      
      def page_count
        return 1 if limit.nil?
        (total.to_f/limit.to_f).ceil
      end
      
      def page_number
        return 1 if limit.nil? or offset.nil? or offset < 1
        (offset.to_f/limit.to_f).ceil
      end
      
    end 
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vj-sdk-0.5.2 lib/videojuicer/resource/collection.rb