Пример #1
0
 /**
  * Submit this draft paste to the Pastebin API.
  * @param \Brush\Accounts\Developer $developer The developer account to use to send the request.
  * @return \Brush\Pastes\Paste The created paste.
  */
 public function paste(Developer $developer)
 {
     // throw on any errors
     $this->validate();
     // create the request
     $pastebin = new ApiRequest($developer, self::ENDPOINT);
     $pastebin->setOption('paste');
     $this->addTo($pastebin->getRequest(), $developer);
     // send and create a paste from this draft
     return Paste::fromPasted($pastebin->send(), $this);
 }
Пример #2
0
 /**
  * Create a paste instance from a key and draft.
  * @param string $url The URL of the paste.
  * @param \Brush\Pastes\Draft $draft The draft to import.
  * @return \Brush\Pastes\Paste The created paste.
  */
 public static function fromPasted($url, Draft $draft)
 {
     $paste = new Paste();
     $paste->import($draft);
     $paste->setUrl($url);
     $paste->setDate(time());
     $paste->setHits(0);
     $offset = Expiry::getOffset($draft->getExpiry());
     $paste->setExpires($offset == 0 ? 0 : $paste->getDate() + $offset);
     return $paste;
 }
Пример #3
0
 /**
  * Get the 18 currently trending pastes.
  * @param \Brush\Accounts\Developer $developer The developer account to use for the request.
  * @return \Brush\Pastes\Paste[] Trending pastes.
  */
 public static function getPastes(Developer $developer)
 {
     $pastebin = new ApiRequest($developer, self::ENDPOINT);
     $pastebin->setOption('trends');
     return Paste::parsePastes($pastebin->send());
 }
Пример #4
0
 /**
  * Retrieve pastes created by this account in descending order of date created.
  * @param \Brush\Accounts\Developer $developer The developer account to use for the request.
  * @param int $limit The maximum number of pastes to retrieve. 1 <= $number <= 1000. Defaults to 50.
  * @throws \Brush\Exceptions\ArgumentException If the number of pastes is outside the allowed range.
  * @return \Brush\Pastes\Paste[] This account's pastes, up to the limit.
  */
 public function getPastes(Developer $developer, $limit = 50)
 {
     // check 1 <= $number <= 1000
     if ($limit < 1 || $limit > 1000) {
         throw new ArgumentException('The number of pastes must be in the range 1 to 1000 inclusive.');
     }
     $pastebin = new ApiRequest($developer, self::PASTES_ENDPOINT);
     $pastebin->setOption('list');
     $request = $pastebin->getRequest();
     $this->sign($request, $developer);
     $request->getVariables()->set('api_results_limit', $limit);
     return Paste::parsePastes($pastebin->send(), $this);
 }