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

Instance Method Details

#agentAgent

Returns:



50
51
52
# File 'lib/biovision/base/base_methods.rb', line 50

def agent
  @agent ||= Agent.named(request.user_agent || 'n/a')
end

#current_languageLanguage

Get current language from locale

Returns:



45
46
47
# File 'lib/biovision/base/base_methods.rb', line 45

def current_language
  @current_language ||= Language.find_by(code: locale)
end

#current_pageInteger

Get current page number from request

Returns:

  • (Integer)


20
21
22
# File 'lib/biovision/base/base_methods.rb', line 20

def current_page
  @current_page ||= (params[:page] || 1).to_s.to_i.abs
end

#current_userUser|nil

Get current user from token cookie

Returns:



38
39
40
# File 'lib/biovision/base/base_methods.rb', line 38

def current_user
  @current_user ||= Token.user_by_token(cookies['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

Parameters:

  • param (Symbol)

Returns:

  • (String)


30
31
32
33
# File 'lib/biovision/base/base_methods.rb', line 30

def param_from_request(*param)
  value = params.dig(*param)
  value.to_s.encode('UTF-8', 'UTF-8', invalid: :replace, replace: '')
end

#set_localeObject



63
64
65
# File 'lib/biovision/base/base_methods.rb', line 63

def set_locale
  I18n.locale = params[:locale] || I18n.default_locale
end

#visitor_slugString

Returns:

  • (String)


55
56
57
58
59
60
61
# File 'lib/biovision/base/base_methods.rb', line 55

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