Sha256: ada7a467cbcb836015e2e6c10224327b7942e831490b4d61d53a2bb8a3a78039

Contents?: true

Size: 1.13 KB

Versions: 28

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require "shellwords"
require "active_support/encrypted_file"

module Rails
  module Command
    module Helpers
      module Editor
        private
          def editor
            ENV["VISUAL"].to_s.empty? ? ENV["EDITOR"] : ENV["VISUAL"]
          end

          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 system_editor(file_path)
            system(*Shellwords.split(editor), file_path.to_s)
          end

          def using_system_editor
            display_hint_if_system_editor_not_specified || yield
          rescue Interrupt
            say "Aborted changing file: nothing saved."
          end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 4 rubygems

Version Path
minato_ruby_api_client-0.2.2 vendor/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/command/helpers/editor.rb
railties-7.2.2.1 lib/rails/command/helpers/editor.rb
railties-7.1.5.1 lib/rails/command/helpers/editor.rb
railties-7.2.2 lib/rails/command/helpers/editor.rb
railties-7.1.5 lib/rails/command/helpers/editor.rb
railties-7.2.1.2 lib/rails/command/helpers/editor.rb
railties-7.1.4.2 lib/rails/command/helpers/editor.rb
railties-7.2.1.1 lib/rails/command/helpers/editor.rb
railties-7.1.4.1 lib/rails/command/helpers/editor.rb
railties-7.1.4 lib/rails/command/helpers/editor.rb
railties-7.2.1 lib/rails/command/helpers/editor.rb
railties-7.2.0 lib/rails/command/helpers/editor.rb
railties-7.2.0.rc1 lib/rails/command/helpers/editor.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/railties-7.1.3.4/lib/rails/command/helpers/editor.rb
railties-7.2.0.beta3 lib/rails/command/helpers/editor.rb
tinymce-rails-7.1.2 vendor/bundle/ruby/3.3.0/gems/railties-7.1.3.4/lib/rails/command/helpers/editor.rb
railties-7.2.0.beta2 lib/rails/command/helpers/editor.rb
railties-7.1.3.4 lib/rails/command/helpers/editor.rb
railties-7.2.0.beta1 lib/rails/command/helpers/editor.rb
railties-7.1.3.2 lib/rails/command/helpers/editor.rb