Class: Migr8::Actions::EditAction
Constant Summary collapse
- NAME =
"edit"
- DESC =
"open migration file by $MIGR8_EDITOR"
- OPTS =
[ "-r N : edit N-th file from latest version", "-e editor : editr command (such as 'emacsclient', 'open', ...)", ]
- ARGS =
"[version]"
Instance Method Summary collapse
Methods inherited from Action
#cmdopterr, find_by_name, #get_command, inherited, #parse, #parser, #repository, #short_usage, subclasses, #usage
Instance Method Details
#run(options, args) ⇒ Object
1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 |
# File 'lib/migr8.rb', line 1636 def run(, args) editor = ['e'] || ENV['MIGR8_EDITOR'] if ! editor || editor.empty? _recommend_to_set_MIGR8_EDITOR('edit') raise cmdopterr("#{NAME}: failed to create migration file.") end version = num = nil if ['r'] num = ['r'].to_i else if args.length == 0 #raise cmdopterr("#{NAME}: '-r N' option or version required.") num = 1 elsif args.length > 1 raise cmdopterr("#{NAME}: too much arguments.") elsif args.length == 1 version = args.first else raise "** unreachable" end end # repo = repository() if num migs = repo.migrations_in_history_file() mig = migs[-num] or raise cmdopterr("#{NAME} -n #{num}: migration file not found.") version = mig.version else mig = repo.load_migration(version) or raise cmdopterr("#{NAME}: #{version}: version not found.") end puts "# #{editor} #{repo.migration_filepath(version)}" system("#{editor} #{repo.migration_filepath(version)}") end |