class ChiliLogger::Values::TypeUniformizer::Desc

responsible for uniformizing log's description primitive types

Public Class Methods

new() click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 10
def initialize
  @default = ChiliLogger::Values::Default.new
end

Public Instance Methods

action(action) click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 45
def action(action)
  return @default.undefined_string if action.nil?
  return @default.invalid_string unless action.is_a?(String)

  action
end
desc(desc) click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 14
def desc(desc)
  return {} unless desc.is_a?(Hash)

  uniformized_desc = {}
  valid_desc_attrs.each do |attr_name|
    # only overwrite if key was explicitly set in desc
    next unless desc.key?(attr_name)

    desc_attr = desc[attr_name]
    desc_attr = @default.invalid_string unless valid_desc_attr_formats.include?(desc_attr.class.name)
    desc_attr ||= @default.undefined_string # if type == nil
    uniformized_desc[attr_name] = desc_attr
  end

  uniformized_desc
end
service(service) click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 38
def service(service)
  return @default.undefined_string if service.nil?
  return @default.invalid_string unless service.is_a?(String)

  service
end
type(type) click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 31
def type(type)
  return @default.undefined_string if type.nil?
  return @default.invalid_string unless type.is_a?(String)

  type
end

Private Instance Methods

valid_desc_attr_formats() click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 58
def valid_desc_attr_formats
  %w[String NilClass]
end
valid_desc_attrs() click to toggle source
# File lib/helpers/values/type_uniformizer/desc.rb, line 54
def valid_desc_attrs
  %i[type service action]
end