From 09540192c96d2ed35accf0b34f3acd9d04170727 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 14 Apr 2017 21:09:55 -0400 Subject: Rename admin/accounts_helper to admin/filter_helper (#1816) - Add some spec coverage for both methods - Add explicit constant call-outs for where the params are from --- app/helpers/admin/accounts_helper.rb | 26 -------------------------- app/helpers/admin/filter_helper.rb | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 26 deletions(-) delete mode 100644 app/helpers/admin/accounts_helper.rb create mode 100644 app/helpers/admin/filter_helper.rb (limited to 'app/helpers/admin') diff --git a/app/helpers/admin/accounts_helper.rb b/app/helpers/admin/accounts_helper.rb deleted file mode 100644 index 497abf80d..000000000 --- a/app/helpers/admin/accounts_helper.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module Admin::AccountsHelper - def filter_params(more_params) - params.permit(:local, :remote, :by_domain, :silenced, :suspended, :recent, :resolved).merge(more_params) - end - - def filter_link_to(text, more_params) - new_url = filtered_url_for(more_params) - link_to text, new_url, class: filter_link_class(new_url) - end - - def table_link_to(icon, text, path, options = {}) - link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link') - end - - private - - def filter_link_class(new_url) - filtered_url_for(params) == new_url ? 'selected' : '' - end - - def filtered_url_for(params) - url_for filter_params(params) - end -end diff --git a/app/helpers/admin/filter_helper.rb b/app/helpers/admin/filter_helper.rb new file mode 100644 index 000000000..591056dd7 --- /dev/null +++ b/app/helpers/admin/filter_helper.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +module Admin::FilterHelper + ACCOUNT_FILTERS = %i[local remote by_domain silenced suspended recent].freeze + REPORT_FILTERS = %i[resolved].freeze + + FILTERS = ACCOUNT_FILTERS + REPORT_FILTERS + + def filter_link_to(text, more_params) + new_url = filtered_url_for(more_params) + link_to text, new_url, class: filter_link_class(new_url) + end + + def table_link_to(icon, text, path, options = {}) + link_to safe_join([fa_icon(icon), text]), path, options.merge(class: 'table-action-link') + end + + private + + def filter_params(more_params) + params.permit(FILTERS).merge(more_params) + end + + def filter_link_class(new_url) + filtered_url_for(params) == new_url ? 'selected' : '' + end + + def filtered_url_for(params) + url_for filter_params(params) + end +end -- cgit