class PStorePP::CLI

Public Class Methods

new(libraries = []) click to toggle source
# File lib/pstore_pp.rb, line 7
def initialize(libraries = [])
  Array(libraries).each do |l|
    require l
  end
end

Public Instance Methods

dump(file) click to toggle source
# File lib/pstore_pp.rb, line 26
def dump(file)
  fail "Could not find file: #{file}" unless File.exist?(file)

  store = PStore.new(file)

  store.transaction(true) do
    store.roots.map do |key|
      [key, store[key]]
    end.to_h
  end
end
start(args = ARGV) click to toggle source
# File lib/pstore_pp.rb, line 13
def start(args = ARGV)
  args = Array(args)

  case args.size
  when 0
    fail 'Error - Missing file name.'
  when 1
    puts JSON.generate(dump(args.first))
  else
    puts JSON.generate(args.map { |file| { file => dump(file) } })
  end
end