Sha256: 147572a48e91afbdc4048385a4d069a303e96fb1acdb2cb64eb55fdfc77a2f0b

Contents?: true

Size: 1.14 KB

Versions: 2

Compression:

Stored size: 1.14 KB

Contents

module Pige::Client
  class Chunk
    include HTTParty

    # debug_output $stderr
    format :json

    attr_accessor :begin, :completion_rate, :created_at, :end, :format, :id, :source_id, :title, :updated_at

    def initialize(attributes = {})
      attributes.each { |k,v| send "#{k}=", v }
    end

    def older_than?(date)
      self.created_at < date
    end

    def destroy
      self.class.destroy(self)
    end

    def self.create(attributes = {})
      post "#{Pige::Client.box_url}/sources/1/chunks", :query => { :chunk => attributes }
    end

    def self.all
      get("#{Pige::Client.box_url}/sources/1/chunks.json").map do |attributes|
        Chunk.new attributes["chunk"]
      end
    end

    def self.older_than(date)
      all.select do |chunk|
        chunk.older_than?(date)
      end
    end

    def self.destroy_all(conditions = {})
      chunks = 
        if older_than = conditions[:older_than]
          Chunk.older_than(older_than)
        else
          Chunk.all
        end

      chunks.each(&:destroy)
    end

    def self.destroy(chunk)
      delete "#{Pige::Client.box_url}/sources/1/chunks/#{chunk.id}.json"
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tryphon-pige-client-0.0.2 lib/pige/client/chunk.rb
tryphon-pige-client-0.0.1 lib/pige/client/chunk.rb