Class: NoCms::Admin::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/no_cms/admin/logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ Logger

We will need the request if we want to save the messages in flash



6
7
8
9
10
11
# File 'lib/no_cms/admin/logger.rb', line 6

def initialize request
  @request = request
  request.session[:no_cms_admin_logger] ||= {}
  @messages = request.session[:no_cms_admin_logger]
  request.session[:no_cms_admin_logger] = {}
end

Instance Method Details

#add_message(type, message, later = false) ⇒ Object



29
30
31
32
33
34
35
36
37
38
# File 'lib/no_cms/admin/logger.rb', line 29

def add_message type, message, later=false
  container = messages_container later
  if later
    @request.session[:no_cms_admin_logger][type] ||= []
    @request.session[:no_cms_admin_logger][type] << message
  else
    @messages[type] ||= []
    @messages[type] << message
  end
end

#error(message, later = false) ⇒ Object



25
26
27
# File 'lib/no_cms/admin/logger.rb', line 25

def error message, later=false
  add_message :error, message, later
end

#info(message, later = false) ⇒ Object



17
18
19
# File 'lib/no_cms/admin/logger.rb', line 17

def info message, later=false
  add_message :info, message, later
end

#messages(types = []) ⇒ Object



40
41
42
43
44
# File 'lib/no_cms/admin/logger.rb', line 40

def messages types = []
  types.blank? ?
    @messages :
    @messages.select { |type, _| types.include? type }
end

#messages_container(later = false) ⇒ Object



13
14
15
# File 'lib/no_cms/admin/logger.rb', line 13

def messages_container later=false
  later ? @request.session[:no_cms_admin_logger] : @messages
end

#warning(message, later = false) ⇒ Object



21
22
23
# File 'lib/no_cms/admin/logger.rb', line 21

def warning message, later=false
  add_message :warning, message, later
end