eprothro
2/16/2017 - 7:11 PM

create explicit require directory structure

create explicit require directory structure

require "active_support"
require "active_support/core_ext"

dir = "lib/timebomb/queries/cassandra"

def build_requireds(dir)
  @modules = Dir.glob("#{dir}/*").select {|f| File.directory? f}.map{|f| File.basename(f) }

  @modules.each do |mod|
    mod_dir = "#{dir}/#{mod}"
    File.open("#{mod_dir}.rb", 'w+') do |file|
      puts "writing #{mod_dir}.rb"

      file << "module Timebomb::Cassandra\n"
      file << "  module #{mod.classify}\n"
      Dir.glob("#{mod_dir}/*.rb").each do |subfile|
        req_name = File.basename(subfile, ".*")
        file << "    require_relative \"#{mod}/#{req_name}\"\n"
        puts "require_relative \"#{mod}/#{req_name}"
      end
      file << "\n  end\n"
      file << "end\n"
    end
  end
end