From 737254f4a52db38a54ad02f24ba0ee4b8ee8d551 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Fri, 18 Sep 2020 17:28:24 -0500 Subject: [PATCH] convert some service classes to static props, run [gem gerrit] (#5553) * refactor(gem): convert to static props * refactor(gerrit): convert to static props Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com> --- services/gem/gem-downloads.service.js | 119 ++++++++++++-------------- services/gem/gem-owner.service.js | 35 +++----- services/gem/gem-rank.service.js | 55 +++++------- services/gem/gem-version.service.js | 35 +++----- services/gerrit/gerrit.service.js | 44 ++++------ 5 files changed, 111 insertions(+), 177 deletions(-) diff --git a/services/gem/gem-downloads.service.js b/services/gem/gem-downloads.service.js index ad4bd90f34..4fb1e03968 100644 --- a/services/gem/gem-downloads.service.js +++ b/services/gem/gem-downloads.service.js @@ -27,73 +27,60 @@ const versionSchema = Joi.array() .required() module.exports = class GemDownloads extends BaseJsonService { - static get category() { - return 'downloads' - } + static category = 'downloads' + static route = { base: 'gem', pattern: ':variant(dt|dtv|dv)/:gem/:version?' } + static examples = [ + { + title: 'Gem', + pattern: 'dv/:gem/:version', + namedParams: { + gem: 'rails', + version: 'stable', + }, + staticPreview: this.render({ + variant: 'dv', + version: 'stable', + downloads: 70000, + }), + keywords, + }, + { + title: 'Gem', + pattern: 'dv/:gem/:version', + namedParams: { + gem: 'rails', + version: '4.1.0', + }, + staticPreview: this.render({ + variant: 'dv', + version: '4.1.0', + downloads: 50000, + }), + keywords, + }, + { + title: 'Gem', + pattern: 'dtv/:gem', + namedParams: { gem: 'rails' }, + staticPreview: this.render({ + variant: 'dtv', + downloads: 70000, + }), + keywords, + }, + { + title: 'Gem', + pattern: 'dt/:gem', + namedParams: { gem: 'rails' }, + staticPreview: this.render({ + variant: 'dt', + downloads: 900000, + }), + keywords, + }, + ] - static get route() { - return { - base: 'gem', - pattern: ':variant(dt|dtv|dv)/:gem/:version?', - } - } - - static get examples() { - return [ - { - title: 'Gem', - pattern: 'dv/:gem/:version', - namedParams: { - gem: 'rails', - version: 'stable', - }, - staticPreview: this.render({ - variant: 'dv', - version: 'stable', - downloads: 70000, - }), - keywords, - }, - { - title: 'Gem', - pattern: 'dv/:gem/:version', - namedParams: { - gem: 'rails', - version: '4.1.0', - }, - staticPreview: this.render({ - variant: 'dv', - version: '4.1.0', - downloads: 50000, - }), - keywords, - }, - { - title: 'Gem', - pattern: 'dtv/:gem', - namedParams: { gem: 'rails' }, - staticPreview: this.render({ - variant: 'dtv', - downloads: 70000, - }), - keywords, - }, - { - title: 'Gem', - pattern: 'dt/:gem', - namedParams: { gem: 'rails' }, - staticPreview: this.render({ - variant: 'dt', - downloads: 900000, - }), - keywords, - }, - ] - } - - static get defaultBadgeData() { - return { label: 'downloads' } - } + static defaultBadgeData = { label: 'downloads' } static render({ variant, version, downloads }) { let label diff --git a/services/gem/gem-owner.service.js b/services/gem/gem-owner.service.js index 11787c1655..2fceac6f1c 100644 --- a/services/gem/gem-owner.service.js +++ b/services/gem/gem-owner.service.js @@ -7,31 +7,18 @@ const { BaseJsonService } = require('..') const ownerSchema = Joi.array().required() module.exports = class GemOwner extends BaseJsonService { - static get category() { - return 'other' - } + static category = 'other' + static route = { base: 'gem/u', pattern: ':user' } + static examples = [ + { + title: 'Gems', + namedParams: { user: 'raphink' }, + staticPreview: this.render({ count: 34 }), + keywords: ['ruby'], + }, + ] - static get route() { - return { - base: 'gem/u', - pattern: ':user', - } - } - - static get examples() { - return [ - { - title: 'Gems', - namedParams: { user: 'raphink' }, - staticPreview: this.render({ count: 34 }), - keywords: ['ruby'], - }, - ] - } - - static get defaultBadgeData() { - return { label: 'gems' } - } + static defaultBadgeData = { label: 'gems' } static render({ count }) { return { diff --git a/services/gem/gem-rank.service.js b/services/gem/gem-rank.service.js index 8855e55321..464cb4d7e3 100644 --- a/services/gem/gem-rank.service.js +++ b/services/gem/gem-rank.service.js @@ -25,43 +25,30 @@ const dailySchema = Joi.array() .required() module.exports = class GemRank extends BaseJsonService { - static get category() { - return 'downloads' - } - - static get route() { - return { - base: 'gem', - pattern: ':period(rt|rd)/:gem', - } - } - - static get examples() { - return [ - { - title: 'Gem download rank', - pattern: 'rt/:gem', - namedParams: { - gem: 'puppet', - }, - staticPreview: this.render({ period: 'rt', rank: 332 }), - keywords, + static category = 'downloads' + static route = { base: 'gem', pattern: ':period(rt|rd)/:gem' } + static examples = [ + { + title: 'Gem download rank', + pattern: 'rt/:gem', + namedParams: { + gem: 'puppet', }, - { - title: 'Gem download rank (daily)', - pattern: 'rd/:gem', - namedParams: { - gem: 'facter', - }, - staticPreview: this.render({ period: 'rd', rank: 656 }), - keywords, + staticPreview: this.render({ period: 'rt', rank: 332 }), + keywords, + }, + { + title: 'Gem download rank (daily)', + pattern: 'rd/:gem', + namedParams: { + gem: 'facter', }, - ] - } + staticPreview: this.render({ period: 'rd', rank: 656 }), + keywords, + }, + ] - static get defaultBadgeData() { - return { label: 'rank' } - } + static defaultBadgeData = { label: 'rank' } static render({ period, rank }) { const count = Math.floor(100000 / rank) diff --git a/services/gem/gem-version.service.js b/services/gem/gem-version.service.js index abbdfecce4..8663288fba 100644 --- a/services/gem/gem-version.service.js +++ b/services/gem/gem-version.service.js @@ -11,31 +11,18 @@ const schema = Joi.object({ }).required() module.exports = class GemVersion extends BaseJsonService { - static get category() { - return 'version' - } + static category = 'version' + static route = { base: 'gem/v', pattern: ':gem' } + static examples = [ + { + title: 'Gem', + namedParams: { gem: 'formatador' }, + staticPreview: this.render({ version: '2.1.0' }), + keywords: ['ruby'], + }, + ] - static get route() { - return { - base: 'gem/v', - pattern: ':gem', - } - } - - static get examples() { - return [ - { - title: 'Gem', - namedParams: { gem: 'formatador' }, - staticPreview: this.render({ version: '2.1.0' }), - keywords: ['ruby'], - }, - ] - } - - static get defaultBadgeData() { - return { label: 'gem' } - } + static defaultBadgeData = { label: 'gem' } static render({ version }) { return renderVersionBadge({ version }) diff --git a/services/gerrit/gerrit.service.js b/services/gerrit/gerrit.service.js index 078df046ce..3810270610 100644 --- a/services/gerrit/gerrit.service.js +++ b/services/gerrit/gerrit.service.js @@ -13,37 +13,23 @@ const schema = Joi.object({ }).required() module.exports = class Gerrit extends BaseJsonService { - static get category() { - return 'issue-tracking' - } - - static get route() { - return { - base: 'gerrit', - pattern: ':changeId', - queryParamSchema, - } - } - - static get examples() { - return [ - { - title: 'Gerrit change status', - namedParams: { - changeId: '1011478', - }, - queryParams: { baseUrl: 'https://android-review.googlesource.com' }, - staticPreview: this.render({ - changeId: 1011478, - status: 'MERGED', - }), + static category = 'issue-tracking' + static route = { base: 'gerrit', pattern: ':changeId', queryParamSchema } + static examples = [ + { + title: 'Gerrit change status', + namedParams: { + changeId: '1011478', }, - ] - } + queryParams: { baseUrl: 'https://android-review.googlesource.com' }, + staticPreview: this.render({ + changeId: 1011478, + status: 'MERGED', + }), + }, + ] - static get defaultBadgeData() { - return { label: 'gerrit' } - } + static defaultBadgeData = { label: 'gerrit' } static getColor({ displayStatus }) { if (displayStatus === 'new') {