Sha256: 3083a5fdabb9ecddc0718657d69c6343887e2cbd9961d985faa3e4036cf1d633
Contents?: true
Size: 936 Bytes
Versions: 1
Compression:
Stored size: 936 Bytes
Contents
class Brut::FrontEnd::Flash def self.from_h(hash) hash ||= {} self.new( age: hash[:age] || 0, messages: hash[:messages] || {} ) end def initialize(age: 0, messages: {}) @age = age.to_i if !messages.kind_of?(Hash) raise ArgumentError,"messages must be a Hash, not a #{messages.class}" end @messages = messages end def clear! @age = 0 @messages = {} end def notice=(notice) self[:notice] = notice end def notice = self[:notice] def notice? = !!self.notice def alert=(alert) self[:alert] = alert end def alert = self[:alert] def alert? = !!self.alert def age! @age += 1 if @age > 1 @age = 0 @messages = {} end end def [](key) @messages[key] end def []=(key,message) @messages[key] = message @age = [0,@age-1].max end def to_h { age: @age, messages: @messages, } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
brut-0.0.1 | lib/brut/front_end/flash.rb |