class Response::Flash

Public Class Methods

add_type(name) click to toggle source

flash.info 'messsage …' flash.info = 'messsage …'

# File lib/lux/response/lib/flash.rb, line 7
def self.add_type name
  define_method(name) { |message| add name, message }
  eval "alias #{name}= #{name}"
end
new(h=nil) click to toggle source
# File lib/lux/response/lib/flash.rb, line 18
def initialize h=nil
  @msg = h || {}
end

Public Instance Methods

clear() click to toggle source
# File lib/lux/response/lib/flash.rb, line 22
def clear
  to_h.tap { @msg = {} }
end
clear_for_js() click to toggle source

clears white space, replaces quotes

# File lib/lux/response/lib/flash.rb, line 31
def clear_for_js
  {}.tap do |msg|
    clear.each do |k, v|
      msg[k] = v.join(', ').gsub(/\s+/, ' ')
    end
  end
end
to_h() click to toggle source
# File lib/lux/response/lib/flash.rb, line 26
def to_h
  @msg
end

Private Instance Methods

add(name, message) click to toggle source
# File lib/lux/response/lib/flash.rb, line 41
def add name, message
  @msg[name] ||= []

  return if @msg[name].last == message
  return if @msg[name].length > 4

  @msg[name].push message.to_s
end