Module: MooTool::Formatters::FirmwareEntryFormatter

Defined in:
lib/mootool/formatters/firmware_entry_formatter.rb

Instance Method Summary collapse

Instance Method Details

#awesome_firmware_entry(entry, _options = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mootool/formatters/firmware_entry_formatter.rb', line 6

def awesome_firmware_entry(entry, _options = {})
  values = entry.value
  digest = values[:DGST]
  values.delete(:DGST)
  booleans = values.select { |_k, v| [true, false].include?(v) }.map do |key, value|
    color = value ? :trueclass : :falseclass
    colorize(key, color).to_s
  end
  other = values.reject { |_k, v| [true, false].include?(v) }

  results = ["#{colorize('Firmware', :class)} #{booleans.join(' ')} #{colorize(digest.shasum, :digest)}"]
  results += digest.files.map do |file|
    "#{' ' * @inspector.current_indentation}                          #{colorize('match',
                                                                                 :args)}: #{colorize(
                                                                                   file.fullname, :path
                                                                                 )}"
  end

  if other.any?
    results += other.map do |key, value|
      case value
      when MooTool::Models::Digest

        "#{' ' * @inspector.current_indentation}      #{colorize(key,
                                                                 :symbol)}  #{colorize(value.hint,
                                                                                       :class).rjust(24)} #{colorize(
                                                                                         value.shasum, :digest
                                                                                       )}"
      else
        "#{' ' * @inspector.current_indentation}  #{colorize(key, :symbol)}: #{value.ai}"
      end
    end
  end

  results.join("\n")
end