class PrintableUser

Constants

DEFAULT_FIELDS

Attributes

accepted_values[R]
user[R]

Public Class Methods

new(user, accepted_values) click to toggle source
# File lib/oh_my_log/printable_user.rb, line 4
def initialize(user, accepted_values)
  raise "DIO" unless accepted_values
  raise ArgumentError unless user || !accepted_values.is_a?(Array)
  @user = user
  @accepted_values = accepted_values
end

Public Instance Methods

to_s() click to toggle source
# File lib/oh_my_log/printable_user.rb, line 11
def to_s
  try_val = ->(val) do
    user.send(val.to_sym) rescue nil
  end
  accepted_values.each do |val|
    if val.is_a?(Array)
      tmp_val = val.map {|field| try_val.call(field)}.join(" ")
      return tmp_val if tmp_val.present?
    elsif [String, Symbol].include?(val.class)
      return try_val.call(val) if try_val.call(val)
    else
      raise ArgumentError
    end
  end
  raise "No values was found"
end