Module: Biovision::BaseMethods

Extended by:
ActiveSupport::Concern
Defined in:
lib/biovision/base_methods.rb

Overview

Base additional methods for application controller

Instance Method Summary collapse

Instance Method Details

#agentAgent

Returns:



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

def agent
  @agent ||= Agent[request.user_agent || 'n/a']
end

#content_componentBiovision::Components::ContentComponent

Get content component handler



52
53
54
# File 'lib/biovision/base_methods.rb', line 52

def content_component
  @content_component ||= Biovision::Components::ContentComponent[current_user]
end

#current_languageLanguage

Get current language from locale

Returns:



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

def current_language
  @current_language ||= Language[locale]
end

#current_pageInteger

Get current page number from request

Returns:

  • (Integer)


20
21
22
# File 'lib/biovision/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_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_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

#users_componentBiovision::Components::UsersComponent

Get users component handler



59
60
61
# File 'lib/biovision/base_methods.rb', line 59

def users_component
  @users_component ||= Biovision::Components::UsersComponent[current_user]
end

#visitor_slugString

Returns:

  • (String)


69
70
71
72
73
74
75
# File 'lib/biovision/base_methods.rb', line 69

def visitor_slug
  if current_user.nil?
    "#{remote_ip}:#{agent.id}"
  else
    current_user.id.to_s
  end
end