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>
This commit is contained in:
Caleb Cartwright
2020-09-18 17:28:24 -05:00
committed by GitHub
parent 6682b87efe
commit 737254f4a5
5 changed files with 111 additions and 177 deletions

View File

@@ -27,73 +27,60 @@ const versionSchema = Joi.array()
.required() .required()
module.exports = class GemDownloads extends BaseJsonService { module.exports = class GemDownloads extends BaseJsonService {
static get category() { static category = 'downloads'
return '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() { static defaultBadgeData = { label: 'downloads' }
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 render({ variant, version, downloads }) { static render({ variant, version, downloads }) {
let label let label

View File

@@ -7,31 +7,18 @@ const { BaseJsonService } = require('..')
const ownerSchema = Joi.array().required() const ownerSchema = Joi.array().required()
module.exports = class GemOwner extends BaseJsonService { module.exports = class GemOwner extends BaseJsonService {
static get category() { static category = 'other'
return '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() { static defaultBadgeData = { label: 'gems' }
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 render({ count }) { static render({ count }) {
return { return {

View File

@@ -25,43 +25,30 @@ const dailySchema = Joi.array()
.required() .required()
module.exports = class GemRank extends BaseJsonService { module.exports = class GemRank extends BaseJsonService {
static get category() { static category = 'downloads'
return 'downloads' static route = { base: 'gem', pattern: ':period(rt|rd)/:gem' }
} static examples = [
{
static get route() { title: 'Gem download rank',
return { pattern: 'rt/:gem',
base: 'gem', namedParams: {
pattern: ':period(rt|rd)/:gem', gem: 'puppet',
}
}
static get examples() {
return [
{
title: 'Gem download rank',
pattern: 'rt/:gem',
namedParams: {
gem: 'puppet',
},
staticPreview: this.render({ period: 'rt', rank: 332 }),
keywords,
}, },
{ staticPreview: this.render({ period: 'rt', rank: 332 }),
title: 'Gem download rank (daily)', keywords,
pattern: 'rd/:gem', },
namedParams: { {
gem: 'facter', title: 'Gem download rank (daily)',
}, pattern: 'rd/:gem',
staticPreview: this.render({ period: 'rd', rank: 656 }), namedParams: {
keywords, gem: 'facter',
}, },
] staticPreview: this.render({ period: 'rd', rank: 656 }),
} keywords,
},
]
static get defaultBadgeData() { static defaultBadgeData = { label: 'rank' }
return { label: 'rank' }
}
static render({ period, rank }) { static render({ period, rank }) {
const count = Math.floor(100000 / rank) const count = Math.floor(100000 / rank)

View File

@@ -11,31 +11,18 @@ const schema = Joi.object({
}).required() }).required()
module.exports = class GemVersion extends BaseJsonService { module.exports = class GemVersion extends BaseJsonService {
static get category() { static category = 'version'
return '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() { static defaultBadgeData = { label: 'gem' }
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 render({ version }) { static render({ version }) {
return renderVersionBadge({ version }) return renderVersionBadge({ version })

View File

@@ -13,37 +13,23 @@ const schema = Joi.object({
}).required() }).required()
module.exports = class Gerrit extends BaseJsonService { module.exports = class Gerrit extends BaseJsonService {
static get category() { static category = 'issue-tracking'
return 'issue-tracking' static route = { base: 'gerrit', pattern: ':changeId', queryParamSchema }
} static examples = [
{
static get route() { title: 'Gerrit change status',
return { namedParams: {
base: 'gerrit', changeId: '1011478',
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',
}),
}, },
] queryParams: { baseUrl: 'https://android-review.googlesource.com' },
} staticPreview: this.render({
changeId: 1011478,
status: 'MERGED',
}),
},
]
static get defaultBadgeData() { static defaultBadgeData = { label: 'gerrit' }
return { label: 'gerrit' }
}
static getColor({ displayStatus }) { static getColor({ displayStatus }) {
if (displayStatus === 'new') { if (displayStatus === 'new') {