class Arguments
Attributes
infer_types[RW]
mysql_db[RW]
mysql_host[RW]
mysql_port[RW]
password[RW]
sqlite_db[RW]
username[RW]
Public Class Methods
new(args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 5 def initialize(args) help(args) if args.size == 0 set_defaults unmodified_args = args.dup unmodified_args.each do |arg| if arg.start_with?('--') send(arg[2..-1], args) args.delete(arg) end end @sqlite_db = args.first @mysql_db = args[1] || @sqlite_db.gsub(/[^0-9a-z]/i, '') end
Public Instance Methods
help(_)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 41 def help(_) puts <<-HELP Usage: sqlite2mysql sqlite.db [mysql_name] Options: --help Show this message --infer Infer types for columns --user MySQL username (default: root) --host MySQL host (default: localhost) --pass MySQL password --port MySQL port HELP exit 0 end
host(args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 37 def host(args) @mysql_host = get_value_for_flag('--host', args) end
infer(_)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 21 def infer(_) @infer_types = true end
pass(args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 29 def pass(args) @password = get_value_for_flag('--pass', args) end
port(args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 33 def port(args) @mysql_port = get_value_for_flag('--port', args) end
user(args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 25 def user(args) @username = get_value_for_flag('--user', args) end
Private Instance Methods
get_value_for_flag(flag, args)
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 59 def get_value_for_flag(flag, args) index = args.index(flag) args.delete_at(index + 1) end
set_defaults()
click to toggle source
# File lib/sqlite2mysql/services/arguments.rb, line 64 def set_defaults @username = 'root' @password = nil @host = 'localhost' @port = nil @infer = false end