module Everybit
  class Video < Resource
    include Everybit::Listable
    include Everybit::Deleteable
    include Everybit::Createable
    include Everybit::Updateable

    def self.status(uuid, params={})
      raise ArgumentError, 'A uuid was not provided.' unless uuid
      retrieve(:get, status_url(uuid), params)
    end

    def self.details(uuid, params={})
      raise ArgumentError, 'A uuid was not provided.' unless uuid
      retrieve(:get, details_url(uuid), params)
    end

    private

    def self.status_url(uuid)
      url + "/#{uuid}/status"
    end

    def self.details_url(uuid)
      url + "/#{uuid}"
    end

    def self.delete_url(uuid)
      url + "/#{uuid}"
    end

  end
end