Class: Orasaurus::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/orasaurus/cli.rb

Instance Method Summary collapse

Instance Method Details

#generate(script_type = :all) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/orasaurus/cli.rb', line 22

def generate(script_type=:all)
  puts "generate " + script_type.to_s + " #{options.to_s}"
  a = Orasaurus::Application.new("cli",options.base_dir)
  
  if options.sort_method.upcase == "SQL" then
    puts "connecting for sql sorting."
    db_connect_options = process_db_connect_options(options.db_username, options.db_password, options.db_name)
    a.connect(db_connect_options[:db_username], db_connect_options[:db_password],db_connect_options[:db_name])
    sort_options = { :method => :SQL, :db_connection => a.connection }
  else
    sort_options = {}  
  end
  
  if [:build_scripts,:all].include? script_type.to_sym then
    puts "generating build scrtipts"
    a.generate(:build_scripts, sort_options)
  end
  
  if [:teardown_scripts,:all].include? script_type.to_sym then
    puts "generating teardown scripts"
    a.generate(:teardown_scripts, sort_options)
  end
  
end

#process_db_connect_options(db_username = nil, db_password = nil, db_name = nil) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/orasaurus/cli.rb', line 52

def process_db_connect_options(db_username=nil, db_password=nil, db_name=nil)
  params = Hash.new
  params[:db_name] = db_name||ask("Database Name? ") { |q| q.echo = true }	  
  params[:db_username] = db_username||ask("Database User? ") { |q| q.echo = true }
  params[:db_password] = db_password||ask("Database Password? ") { |q| q.echo = "*" }
  return params
end

#versionObject



48
49
50
# File 'lib/orasaurus/cli.rb', line 48

def version
  puts "Orasarus v"+Orasaurus::VERSION
end