module Rails::Command::Helpers::Editor
def display_hint_if_system_editor_not_specified
def display_hint_if_system_editor_not_specified if editor.to_s.empty? say "No $VISUAL or $EDITOR to open file in. Assign one like this:" say "" say %(VISUAL="mate --wait" #{executable(current_subcommand)}) say "" say "For editors that fork and exit immediately, it's important to pass a wait flag;" say "otherwise, the file will be saved immediately with no chance to edit." true end end
def editor
def editor ENV["VISUAL"].to_s.empty? ? ENV["EDITOR"] : ENV["VISUAL"] end
def system_editor(file_path)
def system_editor(file_path) system(*Shellwords.split(editor), file_path.to_s) end
def using_system_editor
def using_system_editor display_hint_if_system_editor_not_specified || yield rescue Interrupt say "Aborted changing file: nothing saved." end