class Aldous::SimpleDto
Attributes
_data[R]
Public Class Methods
new(data = {})
click to toggle source
# File lib/aldous/simple_dto.rb, line 5 def initialize(data = {}) @_data = data handle_errors_and_messages define_accessors end
Public Instance Methods
errors()
click to toggle source
# File lib/aldous/simple_dto.rb, line 12 def errors @errors ||= [] end
messages()
click to toggle source
# File lib/aldous/simple_dto.rb, line 16 def messages @messages ||= [] end
Private Instance Methods
define_accessors()
click to toggle source
# File lib/aldous/simple_dto.rb, line 33 def define_accessors self.class.class_exec(_data) do |_data| _data.each_key do |key| next if key.to_s == 'errors' || key.to_s == 'messages' # do nothing if method is already defined next if instance_methods(false).include?(key.to_sym) define_method key do @_data[key] end end end end
handle_errors_and_messages()
click to toggle source
# File lib/aldous/simple_dto.rb, line 22 def handle_errors_and_messages # ensure that any errors or messages end up in the appropriate array _data.each_pair do |key, value| if key.to_s == 'errors' @errors = [value].flatten.compact elsif key.to_s == 'messages' @messages = [value].flatten.compact end end end