diff options
author | azul <azul@riseup.net> | 2013-10-18 01:02:34 -0700 |
---|---|---|
committer | azul <azul@riseup.net> | 2013-10-18 01:02:34 -0700 |
commit | 8cb227a4e5e7b63e5e7d7d9af5a9162e0582e0cd (patch) | |
tree | 424526c0fdebe43209fdf65adcde549bb5cd3e0d | |
parent | 221532448ba4c435427ad2b5b3eca729b352c354 (diff) | |
parent | 1384f6c43dde6a19f270416e34e39130a3d0a53d (diff) |
Merge pull request #103 from azul/feature/configurable-download-urls
Make download links configurable
-rw-r--r-- | config/defaults.yml | 21 | ||||
-rw-r--r-- | core/app/helpers/core_helper.rb | 36 | ||||
-rw-r--r-- | core/app/helpers/download_helper.rb | 33 |
3 files changed, 54 insertions, 36 deletions
diff --git a/config/defaults.yml b/config/defaults.yml index 66ec639..6211e37 100644 --- a/config/defaults.yml +++ b/config/defaults.yml @@ -13,6 +13,23 @@ cert_options: &cert_options limited_cert_prefix: "LIMITED" unlimited_cert_prefix: "UNLIMITED" +downloads: &downloads + client_download_domain: https://downloads.leap.se + available_clients: + - linux32 + - linux64 + - mac + - windows + - android + download_paths: + android: /client/android + linux: /client/linux + linux32: /client/linux/Bitmask-linux32-latest.tar.bz2 + linux64: /client/linux/Bitmask-linux64-latest.tar.bz2 + osx: /client/osx/Bitmask-OSC-latest.dmg + windows: /client/windows + other: /client + common: &common force_ssl: false pagination_size: 30 @@ -24,7 +41,9 @@ common: &common # handles that will be allowed despite being in /etc/passwd or rfc2142 handle_whitelist: [] + development: + <<: *downloads <<: *dev_ca <<: *cert_options <<: *common @@ -34,6 +53,7 @@ development: payment: [] test: + <<: *downloads <<: *dev_ca <<: *cert_options <<: *common @@ -43,6 +63,7 @@ test: payment: [billing] production: + <<: *downloads <<: *cert_options <<: *common admins: [] diff --git a/core/app/helpers/core_helper.rb b/core/app/helpers/core_helper.rb index 29a4700..4126906 100644 --- a/core/app/helpers/core_helper.rb +++ b/core/app/helpers/core_helper.rb @@ -10,40 +10,4 @@ module CoreHelper render 'common/home_page_buttons' end - def available_clients - CLIENT_AVAILABILITY - end - - def alternative_client_links(os = nil) - alternative_clients(os).map do |client| - link_to(client.capitalize, client_download_url(client)) - end - end - - def alternative_clients(os = nil) - CLIENT_AVAILABILITY - [os] - end - - def client_download_url(os = nil) - client_download_domain(os) + client_download_path(os) - end - - def client_download_domain(os) - "https://downloads.leap.se" - end - - def client_download_path(os) - CLIENT_DOWNLOAD_PATHS[os] || '/client' - end - - - CLIENT_AVAILABILITY = %w/linux32 linux64 mac windows android/ - CLIENT_DOWNLOAD_PATHS = { - android: '/client/android', - linux: '/client/linux', - linux32: '/client/linux/Bitmask-linux32-latest.tar.bz2', - linux64: '/client/linux/Bitmask-linux64-latest.tar.bz2', - osx: '/client/osx/Bitmask-OSC-latest.dmg', - windows: '/client/windows' - }.with_indifferent_access end diff --git a/core/app/helpers/download_helper.rb b/core/app/helpers/download_helper.rb new file mode 100644 index 0000000..f9c6c40 --- /dev/null +++ b/core/app/helpers/download_helper.rb @@ -0,0 +1,33 @@ +module DownloadHelper + + def alternative_client_links(os = nil) + alternative_clients(os).map do |client| + link_to(client.capitalize, client_download_url(client)) + end + end + + def alternative_clients(os = nil) + available_clients - [os] + end + + def client_download_url(os = nil) + client_download_domain + client_download_path(os) + end + + def client_download_path(os) + download_paths[os.to_s] || download_paths['other'] || '' + end + + def available_clients + APP_CONFIG[:available_clients] || [] + end + + def client_download_domain + APP_CONFIG[:client_download_domain] || '' + end + + def download_paths + APP_CONFIG[:download_paths] || {} + end + +end |