Sha256: 9417629da2310e9d741b0d1abb11a13f7e2c631253c7fd736a4f6a7ffbcac2d4

Contents?: true

Size: 1.49 KB

Versions: 20

Compression:

Stored size: 1.49 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'fileutils'

begin
  require 'forklift'
rescue LoadError
  require "#{File.expand_path(File.dirname(__FILE__))}/../lib/forklift.rb"
end

def generate
  p = Dir.pwd

  Dir.mkdir "#{p}/config"
  Dir.mkdir "#{p}/config/connections"
  Dir.mkdir "#{p}/config/connections/mysql"
  Dir.mkdir "#{p}/config/connections/elasticsearch"
  Dir.mkdir "#{p}/config/connections/csv"
  Dir.mkdir "#{p}/log"
  Dir.mkdir "#{p}/pid"
  Dir.mkdir "#{p}/template"
  Dir.mkdir "#{p}/transformations"
  Dir.mkdir "#{p}/transports"
  Dir.mkdir "#{p}/patterns"

  template('source.yml',      "#{p}/config/connections/mysql/source.yml")
  template('destination.yml', "#{p}/config/connections/mysql/destination.yml")
  template('email.yml',       "#{p}/config/email.yml")
  template('email.erb',       "#{p}/template/email.erb")
  template('plan.rb',         "#{p}/plan.rb")
end

def template(source, destination)
  t = "#{File.expand_path(File.dirname(__FILE__))}/../template"
  FileUtils.copy("#{t}/#{source}", destination)
  puts "Example plan generated"
end


def run_plan
  file = "#{Dir.pwd}/#{ARGV[0]}"
  if ARGV[0].nil? 
    puts "[error] Please provide a plan.rb as the first argument"
    exit(1)
  end
  Dir.chdir File.expand_path(File.dirname(ARGV[0]))
  begin
    require 'bundler'
    Bundler.require(:default)
  rescue Exception => e
    puts "cannot load bundler: #{e}"
  end
  require file
end

############

if ['--generate', '-generate'].include?(ARGV[0])
  generate
else
  run_plan
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
forklift_etl-1.2.2 bin/forklift
forklift_etl-1.2.1 bin/forklift
forklift_etl-1.2.0 bin/forklift
forklift_etl-1.1.12 bin/forklift
forklift_etl-1.1.11 bin/forklift
forklift_etl-1.1.10 bin/forklift
forklift_etl-1.1.9 bin/forklift
forklift_etl-1.1.8 bin/forklift
forklift_etl-1.1.7 bin/forklift
forklift_etl-1.1.6 bin/forklift
forklift_etl-1.1.5 bin/forklift
forklift_etl-1.1.4 bin/forklift
forklift_etl-1.1.3 bin/forklift
forklift_etl-1.1.2 bin/forklift
forklift_etl-1.1.0 bin/forklift
forklift_etl-1.0.19 bin/forklift
forklift_etl-1.0.18 bin/forklift
forklift_etl-1.0.17 bin/forklift
forklift_etl-1.0.16 bin/forklift
forklift_etl-1.0.15 bin/forklift