Skip to content

Commit

Permalink
Built in updater (fixes #897)
Browse files Browse the repository at this point in the history
  • Loading branch information
dac514 committed Sep 20, 2017
1 parent 49e5627 commit 4108478
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 17 deletions.
11 changes: 11 additions & 0 deletions hooks-admin.php
Expand Up @@ -29,6 +29,17 @@

$is_book = Book::isBook();

// -------------------------------------------------------------------------------------------------------------------
// Check for updates
// -------------------------------------------------------------------------------------------------------------------

$updater = new \Puc_v4p2_Vcs_PluginUpdateChecker(
new \Pressbooks\Updater( 'https://github.com/pressbooks/pressbooks/' ),
__DIR__ . '/pressbooks.php', // Fully qualified path to the main plugin file
'pressbooks'
);
$updater->setBranch( 'master' );

// -------------------------------------------------------------------------------------------------------------------
// Look & feel of admin interface and Dashboard
// -------------------------------------------------------------------------------------------------------------------
Expand Down
11 changes: 0 additions & 11 deletions hooks.php
Expand Up @@ -7,7 +7,6 @@
use Pressbooks\Book;
use Pressbooks\Container;
use Pressbooks\Theme\Lock;
use Pressbooks\Updater;
use function \Pressbooks\l10n\use_book_locale;
use function \Pressbooks\Utility\include_plugins as include_symbionts;

Expand Down Expand Up @@ -36,16 +35,6 @@

include_symbionts();

// -------------------------------------------------------------------------------------------------------------------
// Check for updates
// -------------------------------------------------------------------------------------------------------------------

$updateChecker = new Puc_v4p2_Vcs_PluginUpdateChecker(
new Updater( 'https://github.com/pressbooks/pressbooks/' ),
__FILE__,
'pressbooks'
);

// -------------------------------------------------------------------------------------------------------------------
// Recycle, reduce, reuse
// -------------------------------------------------------------------------------------------------------------------
Expand Down
14 changes: 8 additions & 6 deletions inc/class-updater.php
Expand Up @@ -9,16 +9,18 @@

namespace Pressbooks;

/**
* @see https://github.com/YahnisElsts/plugin-update-checker/issues/93
*/
class Updater extends \Puc_v4p2_Vcs_GitHubApi {

/**
* Get the latest release from GitHub.
*
* @return Puc_v4p1_Vcs_Reference|null
*/
* @return null|\Puc_v4p2_Vcs_Reference
*/
public function getLatestRelease() {
$reference = parent::getLatestRelease();
if ($reference && isset($reference->apiResponse, $reference->apiResponse->assets, $reference->apiResponse->assets[0])) {
$reference->downloadUrl = $reference->apiResponse->assets[0]->browser_download_url;
if ( $reference && isset( $reference->apiResponse, $reference->apiResponse->assets, $reference->apiResponse->assets[0] ) ) {
$reference->downloadUrl = $this->signDownloadUrl( $reference->apiResponse->assets[0]->browser_download_url );
}
return $reference;
}
Expand Down
17 changes: 17 additions & 0 deletions tests/test-updater.php
@@ -0,0 +1,17 @@
<?php

class UpdaterTest extends \WP_UnitTestCase {

/**
* @see https://api.github.com/repos/pressbooks/pressbooks/releases
*/
public function test_Updater() {
$updater = new \Pressbooks\Updater( 'https://github.com/pressbooks/pressbooks/' );
$release = $updater->getLatestRelease();

$this->assertNotEmpty( $release->downloadUrl );
$this->assertNotContains( 'zipball', $release->downloadUrl );
$this->assertNotContains( 'tarball', $release->downloadUrl );
}

}

0 comments on commit 4108478

Please sign in to comment.