Module: Krikri::ApplicationHelper
- Defined in:
- app/helpers/krikri/application_helper.rb
Instance Method Summary collapse
- #available_providers ⇒ Array<Blacklight::SolrResponse::Facets::FacetItem>
-
#link_to_current_page_by_provider(provider) ⇒ Object
Link to the current page, changing the session provider the given value.
-
#link_to_provider_page(provider) ⇒ Object
Link to the ProviderController’s :index or :show route, using the given provider id in the case of :show.
-
#local_name(uri) ⇒ String
Gives the last path fragment for a given URI string in HTML escaped form.
- #provider_name(provider) ⇒ String
- #remove_session_provider ⇒ Object
- #set_session_provider(provider) ⇒ Object
Instance Method Details
#available_providers ⇒ Array<Blacklight::SolrResponse::Facets::FacetItem>
5 6 7 8 9 10 11 |
# File 'app/helpers/krikri/application_helper.rb', line 5 def available_providers Rails.cache.fetch('krikri/application_helper/available_providers', expires_in: 1.hour, race_condition_ttl: 3.minutes) do Krikri::Provider.all(&:reload) end end |
#link_to_current_page_by_provider(provider) ⇒ Object
Link to the current page, changing the session provider the given value.
37 38 39 40 41 42 43 44 45 |
# File 'app/helpers/krikri/application_helper.rb', line 37 def link_to_current_page_by_provider(provider) provider = Krikri::Provider.find(provider) if provider.is_a? String return link_to_provider_page(provider) if params[:controller] == 'krikri/providers' params[:provider] = provider.id params[:session_provider] = provider.id link_to provider_name(provider), params end |
#link_to_provider_page(provider) ⇒ Object
Link to the ProviderController’s :index or :show route, using the given provider id in the case of :show.
64 65 66 67 68 |
# File 'app/helpers/krikri/application_helper.rb', line 64 def link_to_provider_page(provider) return link_to(provider_name(provider), providers_path) unless provider return link_to provider_name(provider), provider_path(provider.id, set_session: provider.id) end |
#local_name(uri) ⇒ String
Gives the last path fragment for a given URI string in HTML escaped form
29 30 31 |
# File 'app/helpers/krikri/application_helper.rb', line 29 def local_name(uri) uri.to_s.split('/').last.html_safe end |
#provider_name(provider) ⇒ String
16 17 18 19 |
# File 'app/helpers/krikri/application_helper.rb', line 16 def provider_name(provider) provider = Krikri::Provider.find(provider) if provider.is_a? String provider.present? ? provider.name : 'All Providers' end |
#remove_session_provider ⇒ Object
54 55 56 57 58 |
# File 'app/helpers/krikri/application_helper.rb', line 54 def remove_session_provider link_to "All Providers", krikri.provider_path('clear', clear_session: 1), rel: 'nofollow' end |
#set_session_provider(provider) ⇒ Object
47 48 49 50 51 52 |
# File 'app/helpers/krikri/application_helper.rb', line 47 def set_session_provider(provider) provider = Krikri::Provider.find(provider) if provider.is_a? String link_to provider_name(provider), krikri.provider_path(provider.id, set_session: 1), rel: 'nofollow' end |