class Light::Services::Messages
Attributes
storage[RW]
Getters / Setters
Public Class Methods
new()
click to toggle source
# File lib/light/services/messages.rb, line 6 def initialize @storage = {} end
Public Instance Methods
add(key, message, rollback: true)
click to toggle source
# File lib/light/services/messages.rb, line 10 def add(key, message, rollback: true) storage[key] ||= [] storage[key] << message rollback! if rollback end
any?()
click to toggle source
# File lib/light/services/messages.rb, line 47 def any? !blank? end
blank?()
click to toggle source
# File lib/light/services/messages.rb, line 43 def blank? storage.empty? end
delete(key)
click to toggle source
# File lib/light/services/messages.rb, line 39 def delete(key) storage.delete(key) end
each() { |key, message| ... }
click to toggle source
# File lib/light/services/messages.rb, line 63 def each flatten.each do |key, message| yield key, message end end
flatten()
click to toggle source
# File lib/light/services/messages.rb, line 55 def flatten to_hash.flat_map do |key, messages| messages.map do |message| [key, message] end end end
from_record(record, rollback: true)
click to toggle source
# File lib/light/services/messages.rb, line 17 def from_record(record, rollback: true) return unless record.errors.any? record.errors.messages.each do |key, messages| messages.each do |message| add(key, message, rollback: false) end end rollback! if rollback end
from_service(service, rollback: true)
click to toggle source
# File lib/light/services/messages.rb, line 29 def from_service(service, rollback: true) return unless service.errors.any? service.errors.each do |key, message| add(key, message, rollback: false) end rollback! if rollback end
to_hash()
click to toggle source
# File lib/light/services/messages.rb, line 51 def to_hash storage end
Also aliased as: to_h
Private Instance Methods
rollback!()
click to toggle source
# File lib/light/services/messages.rb, line 76 def rollback! raise ActiveRecord::Rollback if defined?(ActiveRecord::Rollback) end