Module: ArInternals

Defined in:
app/models/ar_internals.rb

Overview

Internals model returns some Rails environment variables like session, params, record … with more user friendly names. These names can be used for interacting with users and hide complexity behind the scene.

eg: ArInternals.get(‘current_user_name’) will return session

Predefined internal values are:

current_user
current_user_name
current_site

Constant Summary collapse

INTERNALS =
{
  'current_user'      => 'session[:user_id]',
  'current_user_name' => 'session[:user_name]',
  'current_site'      => 'agile_get_site.id'
}

Class Method Summary collapse

Class Method Details

.add(hash) ⇒ Object

Add additional internal. This method allows application specific internals to be added to structure and be used together with predefined values.



48
49
50
# File 'app/models/ar_internals.rb', line 48

def self.add(hash)
  hash.each { |key, value| @additions[key] = value }
end

.get(key) ⇒ Object



55
56
57
58
# File 'app/models/ar_internals.rb', line 55

def self.get(key)
  key.delete_prefix!('@')
  INTERNALS[key] || @additions[key]
end