Module: Julewire::Core::CLI::LogFormats::RecordDecoder

Defined in:
lib/julewire/core/cli/log_formats/record_decoder.rb

Class Method Summary collapse

Class Method Details

.error(value) ⇒ Object



31
32
33
# File 'lib/julewire/core/cli/log_formats/record_decoder.rb', line 31

def error(value)
  section(value) unless value.nil?
end

.kind(value) ⇒ Object



9
10
11
12
13
14
15
# File 'lib/julewire/core/cli/log_formats/record_decoder.rb', line 9

def kind(value)
  case value.to_s
  when "point" then :point
  when "summary" then :summary
  else value.to_sym
  end
end

.section(value) ⇒ Object



17
18
19
20
21
# File 'lib/julewire/core/cli/log_formats/record_decoder.rb', line 17

def section(value)
  return {} unless value.is_a?(Hash)

  Fields::FieldSet.deep_symbolize_keys(value)
end

.sections(source, sections: Fields::Bags.record_hash_sections) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/julewire/core/cli/log_formats/record_decoder.rb', line 23

def sections(source, sections: Fields::Bags.record_hash_sections)
  sections.to_h do |name|
    value = block_given? ? yield(name, source) : source[name.to_s]

    [name, section(value)]
  end
end