Module: Biovision::Base::BaseMethods
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/biovision/base/base_methods.rb
Overview
Useful methods and helpers for ApplicationController
Instance Method Summary collapse
- #agent ⇒ Agent
-
#current_language ⇒ Language
Get current language from locale.
-
#current_page ⇒ Integer
Get current page number from request.
-
#current_user ⇒ User|nil
Get current user from token cookie.
-
#param_from_request(*param) ⇒ String
Get parameter from request and normalize it.
- #set_locale ⇒ Object
- #visitor_slug ⇒ String
Instance Method Details
#agent ⇒ Agent
51 52 53 |
# File 'lib/biovision/base/base_methods.rb', line 51 def agent @agent ||= Agent.named(request.user_agent || 'n/a') end |
#current_language ⇒ Language
Get current language from locale
46 47 48 |
# File 'lib/biovision/base/base_methods.rb', line 46 def current_language @current_language ||= Language.find_by(code: locale) end |
#current_page ⇒ Integer
Get current page number from request
21 22 23 |
# File 'lib/biovision/base/base_methods.rb', line 21 def current_page @current_page ||= (params[:page] || 1).to_s.to_i.abs end |
#current_user ⇒ User|nil
Get current user from token cookie
39 40 41 |
# File 'lib/biovision/base/base_methods.rb', line 39 def current_user @current_user ||= Token.user_by_token(['token'], true) end |
#param_from_request(*param) ⇒ String
Get parameter from request and normalize it
Casts request parameter to UTF-8 string and removes invalid characters
31 32 33 34 |
# File 'lib/biovision/base/base_methods.rb', line 31 def param_from_request(*param) value = params.dig(*param) value.to_s.encode('UTF-8', 'UTF-8', invalid: :replace, replace: '') end |
#set_locale ⇒ Object
64 65 66 |
# File 'lib/biovision/base/base_methods.rb', line 64 def set_locale I18n.locale = params[:locale] || I18n.default_locale end |
#visitor_slug ⇒ String
56 57 58 59 60 61 62 |
# File 'lib/biovision/base/base_methods.rb', line 56 def visitor_slug if current_user.nil? "#{request.env['HTTP_X_REAL_IP'] || request.remote_ip}:#{agent.id}" else current_user.id.to_s end end |