Class: ChiliLogger::Values::TypeUniformizer::User

Inherits:
Object
  • Object
show all
Defined in:
lib/helpers/values/type_uniformizer/user.rb

Overview

responsible for uniformizing log’s primitive types

Instance Method Summary collapse

Constructor Details

#initializeUser

Returns a new instance of User.



10
11
12
# File 'lib/helpers/values/type_uniformizer/user.rb', line 10

def initialize
  @default = ChiliLogger::Values::Default.new
end

Instance Method Details

#user(user) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/helpers/values/type_uniformizer/user.rb', line 14

def user(user)
  return {} unless user.is_a?(Hash)

  uniformized_user = {}
  valid_user_attrs.each do |attr_name|
    # don't enforce typing compliance of attrs that weren't explicitly set in user
    next unless user.key?(attr_name)

    user_attr = user[attr_name]
    user_attr = @default.invalid_string unless valid_user_attr_formats.include?(user_attr.class.name)
    user_attr ||= @default.undefined_string # if type == nil
    uniformized_user[attr_name] = user_attr.to_s
  end

  uniformized_user
end