class FlashMessenger::Messages::Base
Attributes
i18n_params[RW]
level[RW]
translation[RW]
Public Class Methods
alert(message, **i18n_params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 103 def self.alert(message, **i18n_params) new(:alert, message, **i18n_params) end
class_name()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 123 def self.class_name model_name.element end
error(message, **i18n_params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 107 def self.error(message, **i18n_params) new(:error, message, **i18n_params) end
from_session(json)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 143 def self.from_session(json) new(:stub, nil).from_json(json, false) end
info(message, **i18n_params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 111 def self.info(message, **i18n_params) new(:info, message, **i18n_params) end
new(level, translation, **i18n_params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 11 def initialize(level, translation, **i18n_params) @i18n_params, @level, @translation = i18n_params, level, translation end
notice(message, **i18n_params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 115 def self.notice(message, **i18n_params) new(:notice, message, **i18n_params) end
Public Instance Methods
<=>(other)
click to toggle source
Overridden Comparison Operators
# File lib/flash_messenger/messages/base.rb, line 46 def <=>(other) return (self.message <=> other) if other.is_a?(String) return nil unless other.is_a?(self.class) my_values = [self.message, self.level, self.class_name] other_values = [other.message, other.level, self.class_name] (my_values <=> other_values) rescue NoMethodError nil end
alert?()
click to toggle source
Message Helpers (by level)
# File lib/flash_messenger/messages/base.rb, line 87 def alert? @level == :alert end
attributes()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 161 def attributes instance_values end
attributes=(hash)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 155 def attributes=(hash) hash.each do |key, value| send("#{key}=", value) end end
class_name()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 119 def class_name self.class.model_name.element end
eql?(other)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 56 def eql?(other) (self.<=> other) == 0 end
Also aliased as: ==
error?()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 91 def error? @level == :error end
from_json(json, include_root=include_root_in_json)
click to toggle source
Serialization Helpers
Calls superclass method
# File lib/flash_messenger/messages/base.rb, line 131 def from_json(json, include_root=include_root_in_json) super(JSON.parse(json).tap { |this| this.delete('class') }.to_json) end
i18n_params=(params)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 21 def i18n_params=(params) @i18n_params = Hash[params.map{ |k, v| [k.to_sym, v] }] end
info?()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 95 def info? @level == :info end
match?(other)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 60 def match?(other) if other.is_a?(self.class) us = "#{self.class_name}, #{self.level}, #{self.message}" them = "#{self.class_name}, #{self.level}, #{self.message}" return us =~ them elsif other.is_a?(String) return self.to_s =~ %r(#{other}) end nil end
Also aliased as: match
message()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 29 def message I18n.translate(self.translation, **self.i18n_params) rescue I18n::MissingTranslationData return self.translation.join('.') if self.translation.is_a?(Array) self.translation # rescue I18n::MissingInterpolationArgument # TODO end
notice?()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 99 def notice? @level == :notice end
persistent?()
click to toggle source
Message Interface Definitions
# File lib/flash_messenger/messages/base.rb, line 79 def persistent? raise NotImplementedError end
serializable_hash(options = {})
click to toggle source
Calls superclass method
# File lib/flash_messenger/messages/base.rb, line 135 def serializable_hash(options = {}) super.merge({ 'class' => self.class_name }) end
to_s()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 38 def to_s self.message.strip end
to_session()
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 139 def to_session serializable_hash.to_json end
Private Instance Methods
attribute_contrived?(attr)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 167 def attribute_contrived?(attr) true end
clear_attribute(attr)
click to toggle source
# File lib/flash_messenger/messages/base.rb, line 171 def clear_attribute(attr) send("#{attr}=", nil) end