Replace gui clients json file by yaml

This commit is contained in:
pedrorijo91 2017-10-23 21:19:56 +01:00
Родитель f9c81de0c6
Коммит 941b9793a5
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 0B7188F9E4CCA9BD
4 изменённых файлов: 249 добавлений и 215 удалений

Просмотреть файл

@ -9,10 +9,8 @@ class DownloadsController < ApplicationController
end
def guis
file = File.read('resources/guis.json')
parsed = JSON.parse(file)
guis_info = parsed["guis"]
yaml = YAML.load_file('resources/guis.yml')
guis_info = yaml["guis"]
render "downloads/guis/index", :locals => {:guis_info => guis_info}
end

Просмотреть файл

@ -1,206 +0,0 @@
{
"guis": [
{
"name": "SourceTree",
"url": "https://www.sourcetreeapp.com/",
"image_tag": "guis/sourcetree@2x.png",
"platform_classes": ["mac", "windows"],
"platforms": ["Mac", "Windows"],
"price": "Free",
"license": "Proprietary",
"order": 1
},
{
"name": "GitHub Desktop",
"url": "https://desktop.github.com/",
"image_tag": "guis/github-desktop@2x.png",
"platforms": ["Windows", "Mac"],
"platform_classes": ["mac", "windows"],
"price": "Free",
"license": "MIT",
"order": 2
},
{
"name": "TortoiseGit",
"url": "https://tortoisegit.org/",
"image_tag": "guis/tortoisegit@2x.png",
"platforms": ["Windows"],
"platform_classes": ["windows"],
"price": "Free",
"license": "GNU GPL",
"order": 3
},
{
"name": "Git Extensions",
"url": "https://gitextensions.github.io/",
"image_tag": "guis/git-extensions@2x.png",
"platforms": ["Windows"],
"platform_classes": ["windows"],
"price": "Free",
"license": "GNU GPL",
"order": 4
},
{
"name": "GitKraken",
"url": "https://www.gitkraken.com/",
"image_tag": "guis/git-kraken@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free for non-commercial use",
"license": "Proprietary",
"order": 5
},
{
"name": "SmartGit",
"url": "https://www.syntevo.com/smartgit/",
"image_tag": "guis/smartgit@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "$79/user / Free for non-commercial use",
"license": "Proprietary",
"order": 6
},
{
"name": "Tower",
"url": "https://www.git-tower.com/",
"image_tag": "guis/tower@2x.png",
"platforms": ["Windows", "Mac"],
"platform_classes": ["windows", "mac"],
"price": " $79/user (Free 30 day trial)",
"license": "Proprietary",
"trend_name": "git tower",
"order": 7
},
{
"name": "GitUp",
"url": "http://gitup.co/",
"image_tag": "guis/gitup@2x.png",
"platforms": ["Mac"],
"platform_classes": ["mac"],
"price": "Free",
"license": "GNU GPL",
"order": 8
},
{
"name": "GitEye",
"url": "http://www.giteyeapp.com/",
"image_tag": "guis/giteye@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free",
"license": "Proprietary",
"order": 9
},
{
"name": "gitg",
"url": "https://wiki.gnome.org/Apps/Gitg/",
"image_tag": "guis/gitg@2x.png",
"platforms": ["Windows", "Linux"],
"platform_classes": ["windows", "linux"],
"price": "Free",
"license": "GNU GPL",
"order": 10
},
{
"name": "giggle",
"url": "https://wiki.gnome.org/Apps/giggle/",
"image_tag": "guis/giggle@2x.png",
"platforms": ["Linux"],
"platform_classes": ["linux"],
"price": "Free",
"license": "GNU GPL",
"order": 11
},
{
"name": "ungit",
"url": "https://github.com/FredrikNoren/ungit",
"image_tag": "guis/ungit@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free for individuals, subscription based for businesses",
"license": "Ungit license (LYC)",
"order": 12
},
{
"name": "git-cola",
"url": "https://git-cola.github.io/",
"image_tag": "guis/git-cola@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free",
"license": "GNU GPL",
"order": 13
},
{
"name": "Gitbox",
"url": "http://www.gitboxapp.com/",
"image_tag": "guis/gitbox@2x.png",
"platforms": ["Mac"],
"platform_classes": ["mac"],
"price": "$14.99",
"license": "Proprietary",
"order": 14
},
{
"name": "Cycligent Git Tool",
"url": "https://www.cycligent.com/git-tool",
"image_tag": "guis/cycligent@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free",
"license": "Proprietary",
"trend_name": "Cycligent",
"order": 15
},
{
"name": "Aurees",
"url": "https://aurees.com/",
"image_tag": "guis/aurees@2x.png",
"platforms": ["Windows"],
"platform_classes": ["windows"],
"price": "",
"license": "Proprietary",
"order": 16
},
{
"name": "GitAhead",
"url": "https://www.gitahead.com/",
"image_tag": "guis/gitahead@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "$29/user (Free 15 day trial)",
"license": "Proprietary",
"order": 17
},
{
"name": "GitX-dev",
"url": "https://rowanj.github.io/gitx/",
"image_tag": "guis/gitx@2x.png",
"platforms": ["Mac"],
"platform_classes": ["mac"],
"price": "Free",
"license": "GNU GPL",
"order": 18
},
{
"name": "Fork",
"url": "https://git-fork.com/",
"image_tag": "guis/fork@2x.png",
"platforms": ["Mac"],
"platform_classes": ["mac"],
"price": "Free",
"license": "Proprietary",
"order": 19
},
{
"name": "CodeReview",
"url": "https://github.com/FabriceSalvaire/CodeReview/",
"image_tag": "guis/codereview@2x.png",
"platforms": ["Windows", "Mac", "Linux"],
"platform_classes": ["windows", "mac", "linux"],
"price": "Free",
"license": "GNU GPL",
"order": 20
}
]
}

244
resources/guis.yml Normal file
Просмотреть файл

@ -0,0 +1,244 @@
---
guis:
- name: SourceTree
url: https://www.sourcetreeapp.com/
image_tag: guis/sourcetree@2x.png
platform_classes:
- mac
- windows
platforms:
- Mac
- Windows
price: Free
license: Proprietary
order: 1
- name: GitHub Desktop
url: https://desktop.github.com/
image_tag: guis/github-desktop@2x.png
platforms:
- Windows
- Mac
platform_classes:
- mac
- windows
price: Free
license: MIT
order: 2
- name: TortoiseGit
url: https://tortoisegit.org/
image_tag: guis/tortoisegit@2x.png
platforms:
- Windows
platform_classes:
- windows
price: Free
license: GNU GPL
order: 3
- name: Git Extensions
url: https://gitextensions.github.io/
image_tag: guis/git-extensions@2x.png
platforms:
- Windows
platform_classes:
- windows
price: Free
license: GNU GPL
order: 4
- name: GitKraken
url: https://www.gitkraken.com/
image_tag: guis/git-kraken@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free for non-commercial use
license: Proprietary
order: 5
- name: SmartGit
url: https://www.syntevo.com/smartgit/
image_tag: guis/smartgit@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: "$79/user / Free for non-commercial use"
license: Proprietary
order: 6
- name: Tower
url: https://www.git-tower.com/
image_tag: guis/tower@2x.png
platforms:
- Windows
- Mac
platform_classes:
- windows
- mac
price: " $79/user (Free 30 day trial)"
license: Proprietary
trend_name: git tower
order: 7
- name: GitUp
url: http://gitup.co/
image_tag: guis/gitup@2x.png
platforms:
- Mac
platform_classes:
- mac
price: Free
license: GNU GPL
order: 8
- name: GitEye
url: http://www.giteyeapp.com/
image_tag: guis/giteye@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free
license: Proprietary
order: 9
- name: gitg
url: https://wiki.gnome.org/Apps/Gitg/
image_tag: guis/gitg@2x.png
platforms:
- Windows
- Linux
platform_classes:
- windows
- linux
price: Free
license: GNU GPL
order: 10
- name: giggle
url: https://wiki.gnome.org/Apps/giggle/
image_tag: guis/giggle@2x.png
platforms:
- Linux
platform_classes:
- linux
price: Free
license: GNU GPL
order: 11
- name: ungit
url: https://github.com/FredrikNoren/ungit
image_tag: guis/ungit@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free for individuals, subscription based for businesses
license: Ungit license (LYC)
order: 12
- name: git-cola
url: https://git-cola.github.io/
image_tag: guis/git-cola@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free
license: GNU GPL
order: 13
- name: Gitbox
url: http://www.gitboxapp.com/
image_tag: guis/gitbox@2x.png
platforms:
- Mac
platform_classes:
- mac
price: "$14.99"
license: Proprietary
order: 14
- name: Cycligent Git Tool
url: https://www.cycligent.com/git-tool
image_tag: guis/cycligent@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free
license: Proprietary
trend_name: Cycligent
order: 15
- name: Aurees
url: https://aurees.com/
image_tag: guis/aurees@2x.png
platforms:
- Windows
platform_classes:
- windows
price: ''
license: Proprietary
order: 16
- name: GitAhead
url: https://www.gitahead.com/
image_tag: guis/gitahead@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: "$29/user (Free 15 day trial)"
license: Proprietary
order: 17
- name: GitX-dev
url: https://rowanj.github.io/gitx/
image_tag: guis/gitx@2x.png
platforms:
- Mac
platform_classes:
- mac
price: Free
license: GNU GPL
order: 18
- name: Fork
url: https://git-fork.com/
image_tag: guis/fork@2x.png
platforms:
- Mac
platform_classes:
- mac
price: Free
license: Proprietary
order: 19
- name: CodeReview
url: https://github.com/FabriceSalvaire/CodeReview/
image_tag: guis/codereview@2x.png
platforms:
- Windows
- Mac
- Linux
platform_classes:
- windows
- mac
- linux
price: Free
license: GNU GPL
order: 20

Просмотреть файл

@ -9,13 +9,11 @@
# on this process until the order is fixed.
# The script also validates no duplicated clients exist in the listing.
require 'json'
require 'yaml'
require 'open-uri'
file = File.read('resources/guis.json')
parsed = JSON.parse(file)
guis_info = parsed["guis"]
yaml = YAML.load_file('resources/guis.yml')
guis_info = yaml["guis"]
# Just checking duplicates because during manual sorting one may commit mistakes
if guis_info.map { |e| e["name"] }.uniq.length != guis_info.length then