[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Make SiteStatsUpdate implement MergeableUpdate
Krinkle has submitted this change and it was merged. Change subject: Make SiteStatsUpdate implement MergeableUpdate .. Make SiteStatsUpdate implement MergeableUpdate Change-Id: I53c9bf133f0707f2fa203ddd1a7fcb65be8b1329 --- M includes/deferred/SiteStatsUpdate.php 1 file changed, 14 insertions(+), 7 deletions(-) Approvals: Krinkle: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/deferred/SiteStatsUpdate.php b/includes/deferred/SiteStatsUpdate.php index d8bc35b..ab4a609 100644 --- a/includes/deferred/SiteStatsUpdate.php +++ b/includes/deferred/SiteStatsUpdate.php @@ -17,25 +17,24 @@ * * @file */ +use Wikimedia\Assert\Assert; /** * Class for handling updates to the site_stats table */ -class SiteStatsUpdate implements DeferrableUpdate { +class SiteStatsUpdate implements DeferrableUpdate, MergeableUpdate { /** @var int */ protected $edits = 0; - /** @var int */ protected $pages = 0; - /** @var int */ protected $articles = 0; - /** @var int */ protected $users = 0; - /** @var int */ protected $images = 0; + + private static $counters = [ 'edits', 'pages', 'articles', 'users', 'images' ]; // @todo deprecate this constructor function __construct( $views, $edits, $good, $pages = 0, $users = 0 ) { @@ -45,6 +44,15 @@ $this->users = $users; } + public function merge( MergeableUpdate $update ) { + /** @var SiteStatsUpdate $update */ + Assert::parameterType( __CLASS__, $update, '$update' ); + + foreach ( self::$counters as $field ) { + $this->$field += $update->$field; + } + } + /** * @param array $deltas * @return SiteStatsUpdate @@ -52,8 +60,7 @@ public static function factory( array $deltas ) { $update = new self( 0, 0, 0 ); - $fields = [ 'views', 'edits', 'pages', 'articles', 'users', 'images' ]; - foreach ( $fields as $field ) { + foreach ( self::$counters as $field ) { if ( isset( $deltas[$field] ) && $deltas[$field] ) { $update->$field = $deltas[$field]; } -- To view, visit https://gerrit.wikimedia.org/r/310578 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I53c9bf133f0707f2fa203ddd1a7fcb65be8b1329 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron SchulzGerrit-Reviewer: Krinkle Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] mediawiki/core[master]: Make SiteStatsUpdate implement MergeableUpdate
Aaron Schulz has uploaded a new change for review. https://gerrit.wikimedia.org/r/310578 Change subject: Make SiteStatsUpdate implement MergeableUpdate .. Make SiteStatsUpdate implement MergeableUpdate Change-Id: I53c9bf133f0707f2fa203ddd1a7fcb65be8b1329 --- M includes/deferred/SiteStatsUpdate.php 1 file changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/78/310578/1 diff --git a/includes/deferred/SiteStatsUpdate.php b/includes/deferred/SiteStatsUpdate.php index d8bc35b..850f3ae 100644 --- a/includes/deferred/SiteStatsUpdate.php +++ b/includes/deferred/SiteStatsUpdate.php @@ -17,25 +17,23 @@ * * @file */ - +use Wikimedia\Assert\Assert; /** * Class for handling updates to the site_stats table */ -class SiteStatsUpdate implements DeferrableUpdate { +class SiteStatsUpdate implements DeferrableUpdate, MergeableUpdate { /** @var int */ protected $edits = 0; - /** @var int */ protected $pages = 0; - /** @var int */ protected $articles = 0; - /** @var int */ protected $users = 0; - /** @var int */ protected $images = 0; + + private static $counters = [ 'edits', 'pages', 'articles', 'users', 'images' ]; // @todo deprecate this constructor function __construct( $views, $edits, $good, $pages = 0, $users = 0 ) { @@ -45,6 +43,15 @@ $this->users = $users; } + public function merge( MergeableUpdate $update ) { + /** @var SiteStatsUpdate $update */ + Assert::parameterType( __CLASS__, $update, '$update' ); + + foreach ( self::$counters as $field ) { + $this->$field += $update->$field; + } + } + /** * @param array $deltas * @return SiteStatsUpdate @@ -52,8 +59,7 @@ public static function factory( array $deltas ) { $update = new self( 0, 0, 0 ); - $fields = [ 'views', 'edits', 'pages', 'articles', 'users', 'images' ]; - foreach ( $fields as $field ) { + foreach ( self::$counters as $field ) { if ( isset( $deltas[$field] ) && $deltas[$field] ) { $update->$field = $deltas[$field]; } -- To view, visit https://gerrit.wikimedia.org/r/310578 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I53c9bf133f0707f2fa203ddd1a7fcb65be8b1329 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits