class Metado::CLI

Public Class Methods

start() click to toggle source
# File lib/metado/cli.rb, line 8
def self.start
  unless (dir = ARGV.first)
    puts "Usage: metado SOURCE_DIR"
    exit 1
  end

  result = Dir["#{dir}/**/*.{c,hs,js,m,md,mm,py,rb,sh,swift}"].flat_map do |file|
    next unless File.file?(file)

    Parser::File.comments(file).map(&Parser::Metado.method(:parse)).flatten.map(&:to_h)
  end.compact

  puts JSON.generate result
end