tty-editor 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/CHANGELOG.md +7 -0
- data/README.md +4 -0
- data/lib/tty-editor.rb +0 -2
- data/lib/tty/editor.rb +1 -1
- data/lib/tty/editor/version.rb +3 -1
- data/spec/spec_helper.rb +54 -0
- data/spec/unit/available_spec.rb +52 -0
- data/spec/unit/command_path_spec.rb +25 -0
- data/spec/unit/command_spec.rb +55 -0
- data/spec/unit/executables_spec.rb +16 -0
- data/spec/unit/open_spec.rb +103 -0
- data/spec/unit/tempfile_path_spec.rb +18 -0
- data/tty-editor.gemspec +4 -5
- metadata +13 -12
- data/.gitignore +0 -9
- data/.rspec +0 -3
- data/.travis.yml +0 -25
- data/CODE_OF_CONDUCT.md +0 -49
- data/Gemfile +0 -8
- data/appveyor.yml +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b1f457f50b0e6fbc28f6bce355c3f9cd8850daa3d7bef3d2f9f05f5e26f0160a
|
4
|
+
data.tar.gz: c4ffbcc18b975275ccf6a41219c704919b0c2e33ac4eea3c209a70be5884ad98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3165a9f49debfcc8ad4246ae2960dd83a4b8d9500c2bf562999375e3e3d44011a8701df892316f974284736255bf31a95207d19edaa61408131bd8b990b44112
|
7
|
+
data.tar.gz: 407a3906e0f3551a77c3d2f4987fb77b7b417b636dfd646c9a732c5f63618b6deb47f93b408d809915db3ae46e172434c18138bcd5b1b9ec92461d97e1fb522e
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## [v0.4.1] - 2018-08-29
|
4
|
+
|
5
|
+
### Changed
|
6
|
+
* Update tty-prompt dependency
|
7
|
+
|
3
8
|
## [v0.4.0] - 2018-04-14
|
4
9
|
|
5
10
|
### Changed
|
6
11
|
* Update tty-prompt dependency
|
12
|
+
* Change to freeze all strings
|
7
13
|
|
8
14
|
## [v0.3.0] - 2018-01-06
|
9
15
|
|
@@ -46,6 +52,7 @@
|
|
46
52
|
|
47
53
|
* Initial implementation and release
|
48
54
|
|
55
|
+
[v0.4.1]: https://github.com/piotrmurach/tty-editor/compare/v0.4.0...v0.4.1
|
49
56
|
[v0.4.0]: https://github.com/piotrmurach/tty-editor/compare/v0.3.0...v0.4.0
|
50
57
|
[v0.3.0]: https://github.com/piotrmurach/tty-editor/compare/v0.2.1...v0.3.0
|
51
58
|
[v0.2.1]: https://github.com/piotrmurach/tty-editor/compare/v0.2.0...v0.2.1
|
data/README.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
<div align="center">
|
2
|
+
<a href="https://piotrmurach.github.io/tty" target="_blank"><img width="130" src="https://cdn.rawgit.com/piotrmurach/tty/master/images/tty.png" alt="tty logo" /></a>
|
3
|
+
</div>
|
4
|
+
|
1
5
|
# TTY::Editor [][gitter]
|
2
6
|
|
3
7
|
[][gem]
|
data/lib/tty-editor.rb
CHANGED
data/lib/tty/editor.rb
CHANGED
data/lib/tty/editor/version.rb
CHANGED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
if RUBY_VERSION > '1.9' and (ENV['COVERAGE'] || ENV['TRAVIS'])
|
2
|
+
require 'simplecov'
|
3
|
+
require 'coveralls'
|
4
|
+
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
|
+
SimpleCov::Formatter::HTMLFormatter,
|
7
|
+
Coveralls::SimpleCov::Formatter
|
8
|
+
]
|
9
|
+
|
10
|
+
SimpleCov.start do
|
11
|
+
command_name 'spec'
|
12
|
+
add_filter 'spec'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
require 'tty/editor'
|
17
|
+
|
18
|
+
module Helpers
|
19
|
+
def fixtures_path(filename = nil)
|
20
|
+
::File.join(::File.dirname(__FILE__), 'fixtures', filename.to_s)
|
21
|
+
end
|
22
|
+
|
23
|
+
def tmp_path(filename = nil)
|
24
|
+
File.join(File.dirname(__FILE__), '..', 'tmp', filename.to_s)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
RSpec.configure do |config|
|
29
|
+
config.include(Helpers)
|
30
|
+
config.expect_with :rspec do |expectations|
|
31
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
32
|
+
end
|
33
|
+
|
34
|
+
config.mock_with :rspec do |mocks|
|
35
|
+
mocks.verify_partial_doubles = true
|
36
|
+
end
|
37
|
+
|
38
|
+
# Limits the available syntax to the non-monkey patched syntax that is recommended.
|
39
|
+
config.disable_monkey_patching!
|
40
|
+
|
41
|
+
# This setting enables warnings. It's recommended, but in some cases may
|
42
|
+
# be too noisy due to issues in dependencies.
|
43
|
+
config.warnings = true
|
44
|
+
|
45
|
+
if config.files_to_run.one?
|
46
|
+
config.default_formatter = 'doc'
|
47
|
+
end
|
48
|
+
|
49
|
+
config.profile_examples = 2
|
50
|
+
|
51
|
+
config.order = :random
|
52
|
+
|
53
|
+
Kernel.srand config.seed
|
54
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Editor, '#available' do
|
4
|
+
before do
|
5
|
+
allow(ENV).to receive(:[]).with('VISUAL').and_return(nil)
|
6
|
+
allow(ENV).to receive(:[]).with('EDITOR').and_return(nil)
|
7
|
+
allow(TTY::Editor).to receive(:windows?).and_return(false)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "detects editor from env" do
|
11
|
+
allow(ENV).to receive(:[]).with('VISUAL').and_return('vi')
|
12
|
+
|
13
|
+
expect(TTY::Editor.available).to eq(['vi'])
|
14
|
+
end
|
15
|
+
|
16
|
+
it "offers notepad editor on windows platform" do
|
17
|
+
allow(TTY::Editor).to receive(:windows?).and_return(true)
|
18
|
+
|
19
|
+
expect(TTY::Editor.available).to eq(['notepad'])
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'finds a single editor on unix' do
|
23
|
+
editor = TTY::Editor
|
24
|
+
allow(editor).to receive(:exist?).and_return(false)
|
25
|
+
allow(editor).to receive(:exist?).with('vim').and_return(true)
|
26
|
+
|
27
|
+
expect(editor.available).to eql(['vim'])
|
28
|
+
end
|
29
|
+
|
30
|
+
it "finds all available editors" do
|
31
|
+
editor = TTY::Editor
|
32
|
+
allow(editor).to receive(:exist?).and_return(false)
|
33
|
+
allow(editor).to receive(:exist?).with('vim').and_return(true)
|
34
|
+
allow(editor).to receive(:exist?).with('emacs').and_return(true)
|
35
|
+
|
36
|
+
expect(editor.available).to eql(['vim', 'emacs'])
|
37
|
+
end
|
38
|
+
|
39
|
+
it "doesn't find any editor on unix" do
|
40
|
+
editor = TTY::Editor
|
41
|
+
allow(editor).to receive(:exist?).and_return(false)
|
42
|
+
|
43
|
+
expect(editor.available).to eq([])
|
44
|
+
end
|
45
|
+
|
46
|
+
it "uses custom editor" do
|
47
|
+
editor = TTY::Editor
|
48
|
+
name = 'sublime'
|
49
|
+
|
50
|
+
expect(editor.available(name)).to eql([name])
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Editor, '#command' do
|
4
|
+
it 'escapes editor filename on Unix' do
|
5
|
+
filename = "/usr/bin/hello world.rb"
|
6
|
+
allow(::FileTest).to receive(:file?).with(filename).and_return(true)
|
7
|
+
allow(::File).to receive(:exist?).with(filename).and_return(true)
|
8
|
+
allow(TTY::Editor).to receive(:windows?).and_return(false)
|
9
|
+
|
10
|
+
editor = TTY::Editor.new(filename, command: :vim)
|
11
|
+
|
12
|
+
expect(editor.command_path).to eql("vim /usr/bin/hello\\ world.rb")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "escapes path separators on Windows" do
|
16
|
+
filename = 'C:\User\hello world.rb'
|
17
|
+
allow(::FileTest).to receive(:file?).with(filename).and_return(true)
|
18
|
+
allow(::File).to receive(:exist?).with(filename).and_return(true)
|
19
|
+
allow(TTY::Editor).to receive(:windows?).and_return(true)
|
20
|
+
|
21
|
+
editor = TTY::Editor.new(filename, command: :vim)
|
22
|
+
|
23
|
+
expect(editor.command_path).to eql("vim C:\\\\User\\\\hello\\ world.rb")
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Editor, '#command' do
|
4
|
+
it 'specifies desired editor' do
|
5
|
+
editor = TTY::Editor.new(fixtures_path('hello.txt'))
|
6
|
+
|
7
|
+
allow(TTY::Editor).to receive(:available).and_return(['vim'])
|
8
|
+
allow(TTY::Which).to receive(:which).with('vim').and_return('/usr/bin/vim')
|
9
|
+
|
10
|
+
expect(editor.command).to eq('/usr/bin/vim')
|
11
|
+
end
|
12
|
+
|
13
|
+
it "doesn't find any available editor" do
|
14
|
+
editor = TTY::Editor.new(fixtures_path('hello.txt'))
|
15
|
+
allow(TTY::Editor).to receive(:available).and_return([])
|
16
|
+
|
17
|
+
expect {
|
18
|
+
editor.command
|
19
|
+
}.to raise_error(TTY::Editor::EditorNotFoundError,
|
20
|
+
/Could not find editor to use. Please specify \$VISUAL or \$EDITOR/)
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'finds only one editor' do
|
24
|
+
editor = TTY::Editor.new(fixtures_path('hello.txt'))
|
25
|
+
|
26
|
+
allow(TTY::Editor).to receive(:available).and_return(['vim'])
|
27
|
+
allow(TTY::Which).to receive(:which).with('vim').and_return('/usr/bin/vim')
|
28
|
+
|
29
|
+
expect(editor.command).to eq('/usr/bin/vim')
|
30
|
+
end
|
31
|
+
|
32
|
+
it "finds more than one editor" do
|
33
|
+
editor = TTY::Editor.new(fixtures_path('hello.txt'))
|
34
|
+
|
35
|
+
prompt = double(:prompt, enum_select: 'vim')
|
36
|
+
|
37
|
+
allow(TTY::Editor).to receive(:available).and_return(['vim', 'emacs'])
|
38
|
+
allow(TTY::Which).to receive(:which).with('vim').and_return('/usr/bin/vim')
|
39
|
+
allow(TTY::Prompt).to receive(:new).and_return(prompt)
|
40
|
+
|
41
|
+
expect(editor.command).to eq('/usr/bin/vim')
|
42
|
+
end
|
43
|
+
|
44
|
+
it "caches editor name" do
|
45
|
+
editor = TTY::Editor.new(fixtures_path('hello.txt'))
|
46
|
+
|
47
|
+
allow(TTY::Editor).to receive(:available).and_return(['vim'])
|
48
|
+
allow(TTY::Which).to receive(:which).with('vim').and_return('/usr/bin/vim')
|
49
|
+
|
50
|
+
editor.command
|
51
|
+
editor.command
|
52
|
+
|
53
|
+
expect(TTY::Editor).to have_received(:available).once
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Editor, '#executables' do
|
4
|
+
it "returns default executables" do
|
5
|
+
expect(TTY::Editor.executables).to be_an(Array)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "includes default editor execs" do
|
9
|
+
allow(ENV).to receive(:[]).with('VISUAL').and_return(nil)
|
10
|
+
allow(ENV).to receive(:[]).with('EDITOR').and_return(nil)
|
11
|
+
|
12
|
+
expect(TTY::Editor.executables).to eq([
|
13
|
+
'vim', 'vi', 'emacs', 'nano', 'nano-tiny', 'pico', 'mate -w'
|
14
|
+
])
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'fileutils'
|
4
|
+
|
5
|
+
RSpec.describe TTY::Editor, '#open' do
|
6
|
+
before do
|
7
|
+
::FileUtils.mkdir_p(tmp_path)
|
8
|
+
end
|
9
|
+
|
10
|
+
after do
|
11
|
+
::FileUtils.rm_rf(tmp_path)
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
it "opens existing file" do
|
16
|
+
file = fixtures_path('hello.txt')
|
17
|
+
editor = TTY::Editor.new(file, command: :vim)
|
18
|
+
|
19
|
+
allow(editor).to receive(:system).and_return(true)
|
20
|
+
expect(editor.open).to eq(true)
|
21
|
+
|
22
|
+
expect(editor).to have_received(:system).with({}, 'vim', file)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "opens non-existing file without content" do
|
26
|
+
new_file = File.join(tmp_path, 'new.rb')
|
27
|
+
editor = TTY::Editor.new(new_file, command: :vim)
|
28
|
+
|
29
|
+
allow(editor).to receive(:system).and_return(true)
|
30
|
+
expect(editor.open).to eq(true)
|
31
|
+
|
32
|
+
expect(::File.exist?(new_file)).to eq(true)
|
33
|
+
expect(editor).to have_received(:system).with({}, 'vim', new_file)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "opens non-existing file with new content" do
|
37
|
+
new_file = File.join(tmp_path, 'new.rb')
|
38
|
+
editor = TTY::Editor.new(new_file, content: 'Hello Ruby!', command: :vim)
|
39
|
+
|
40
|
+
allow(editor).to receive(:system).and_return(true)
|
41
|
+
expect(editor.open).to eq(true)
|
42
|
+
|
43
|
+
expect(::File.read(new_file)).to eq("Hello Ruby!")
|
44
|
+
expect(editor).to have_received(:system).with({}, 'vim', new_file)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "opens existing file with existing content" do
|
48
|
+
file = tmp_path('hello.txt')
|
49
|
+
::File.write(file, "Hello Ruby!\n")
|
50
|
+
editor = TTY::Editor.new(file, content: 'more content', command: :vim)
|
51
|
+
|
52
|
+
allow(editor).to receive(:system).and_return(true)
|
53
|
+
expect(editor.open).to eq(true)
|
54
|
+
|
55
|
+
expect(::File.read(file)).to eq("Hello Ruby!\nmore content")
|
56
|
+
expect(editor).to have_received(:system).with({}, 'vim', file)
|
57
|
+
end
|
58
|
+
|
59
|
+
it "opens content in a temp file" do
|
60
|
+
tmp_file = StringIO.new
|
61
|
+
def tmp_file.path
|
62
|
+
'tty-editor-path'
|
63
|
+
end
|
64
|
+
allow(Tempfile).to receive(:new).and_return(tmp_file)
|
65
|
+
allow(tmp_file).to receive(:<<)
|
66
|
+
editor = TTY::Editor.new(content: 'Hello Ruby!', command: :vim)
|
67
|
+
|
68
|
+
allow(editor).to receive(:system).and_return(true)
|
69
|
+
expect(editor.open).to eq(true)
|
70
|
+
|
71
|
+
expect(editor).to have_received(:system).with({}, 'vim', 'tty-editor-path')
|
72
|
+
expect(tmp_file).to have_received(:<<).with('Hello Ruby!')
|
73
|
+
end
|
74
|
+
|
75
|
+
it "opens editor without filename or content" do
|
76
|
+
editor = TTY::Editor.new(command: :vim)
|
77
|
+
allow(editor).to receive(:system).and_return(true)
|
78
|
+
expect(editor.open).to eq(true)
|
79
|
+
expect(editor).to have_received(:system).with({}, 'vim', '')
|
80
|
+
end
|
81
|
+
|
82
|
+
it "fails to open non-file without content" do
|
83
|
+
expect {
|
84
|
+
TTY::Editor.open(fixtures_path)
|
85
|
+
}.to raise_error(ArgumentError, /Don't know how to handle `#{fixtures_path}`./)
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'opens file in editor with known command' do
|
89
|
+
invocable = double(:invocable, open: nil)
|
90
|
+
allow(TTY::Editor).to receive(:new).
|
91
|
+
with('hello.rb', command: :vim).and_return(invocable)
|
92
|
+
|
93
|
+
TTY::Editor.open('hello.rb', command: :vim)
|
94
|
+
|
95
|
+
expect(TTY::Editor).to have_received(:new).with('hello.rb', command: :vim)
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'fails to open editor with unknown command' do
|
99
|
+
expect {
|
100
|
+
TTY::Editor.open(fixtures_path('hello.txt'), command: :unknown)
|
101
|
+
}.to raise_error(TTY::Editor::CommandInvocationError)
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe TTY::Editor, '#tempfile_path' do
|
4
|
+
it 'creates temporary file path for content' do
|
5
|
+
tempfile = StringIO.new
|
6
|
+
def tempfile.path
|
7
|
+
'random-path'
|
8
|
+
end
|
9
|
+
|
10
|
+
allow(Tempfile).to receive(:new).and_return(tempfile)
|
11
|
+
editor = TTY::Editor.new(content: "Multiline\ncontent", command: :vim)
|
12
|
+
allow(editor).to receive(:system).and_return(true)
|
13
|
+
|
14
|
+
editor.open
|
15
|
+
|
16
|
+
expect(editor.command_path).to eql("vim random-path")
|
17
|
+
end
|
18
|
+
end
|
data/tty-editor.gemspec
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'tty/editor/version'
|
@@ -14,14 +13,14 @@ Gem::Specification.new do |spec|
|
|
14
13
|
spec.homepage = "https://piotrmurach.github.io/tty"
|
15
14
|
spec.license = "MIT"
|
16
15
|
|
17
|
-
spec.files =
|
18
|
-
spec.
|
19
|
-
spec.
|
16
|
+
spec.files = Dir['{lib,spec,examples}/**/*.rb']
|
17
|
+
spec.files += Dir['{bin,tasks}/*', 'tty-editor.gemspec']
|
18
|
+
spec.files += Dir['README.md', 'CHANGELOG.md', 'LICENSE.txt', 'Rakefile']
|
20
19
|
spec.require_paths = ["lib"]
|
21
20
|
|
22
21
|
spec.required_ruby_version = '>= 2.0.0'
|
23
22
|
|
24
|
-
spec.add_dependency 'tty-prompt', '~> 0.
|
23
|
+
spec.add_dependency 'tty-prompt', '~> 0.17.0'
|
25
24
|
spec.add_dependency 'tty-which', '~> 0.3.0'
|
26
25
|
|
27
26
|
spec.add_development_dependency 'bundler', '>= 1.5.0', '< 2.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tty-editor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Murach
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-prompt
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.17.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.17.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tty-which
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -93,16 +93,10 @@ executables: []
|
|
93
93
|
extensions: []
|
94
94
|
extra_rdoc_files: []
|
95
95
|
files:
|
96
|
-
- ".gitignore"
|
97
|
-
- ".rspec"
|
98
|
-
- ".travis.yml"
|
99
96
|
- CHANGELOG.md
|
100
|
-
- CODE_OF_CONDUCT.md
|
101
|
-
- Gemfile
|
102
97
|
- LICENSE.txt
|
103
98
|
- README.md
|
104
99
|
- Rakefile
|
105
|
-
- appveyor.yml
|
106
100
|
- bin/console
|
107
101
|
- bin/setup
|
108
102
|
- examples/basic.rb
|
@@ -113,6 +107,13 @@ files:
|
|
113
107
|
- lib/tty-editor.rb
|
114
108
|
- lib/tty/editor.rb
|
115
109
|
- lib/tty/editor/version.rb
|
110
|
+
- spec/spec_helper.rb
|
111
|
+
- spec/unit/available_spec.rb
|
112
|
+
- spec/unit/command_path_spec.rb
|
113
|
+
- spec/unit/command_spec.rb
|
114
|
+
- spec/unit/executables_spec.rb
|
115
|
+
- spec/unit/open_spec.rb
|
116
|
+
- spec/unit/tempfile_path_spec.rb
|
116
117
|
- tasks/console.rake
|
117
118
|
- tasks/coverage.rake
|
118
119
|
- tasks/spec.rake
|
@@ -137,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
138
|
version: '0'
|
138
139
|
requirements: []
|
139
140
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.
|
141
|
+
rubygems_version: 2.7.3
|
141
142
|
signing_key:
|
142
143
|
specification_version: 4
|
143
144
|
summary: Opens a file or text in the user's preferred editor.
|
data/.gitignore
DELETED
data/.rspec
DELETED
data/.travis.yml
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
---
|
2
|
-
language: ruby
|
3
|
-
sudo: false
|
4
|
-
cache: bundler
|
5
|
-
script: "bundle exec rake ci"
|
6
|
-
rvm:
|
7
|
-
- 2.0.0
|
8
|
-
- 2.1.10
|
9
|
-
- 2.2.8
|
10
|
-
- 2.3.6
|
11
|
-
- 2.4.3
|
12
|
-
- 2.5.0
|
13
|
-
- ruby-head
|
14
|
-
- jruby-9.1.7.0
|
15
|
-
- jruby-head
|
16
|
-
matrix:
|
17
|
-
allow_failures:
|
18
|
-
- rvm: ruby-head
|
19
|
-
- rvm: jruby-head
|
20
|
-
- rvm: jruby-9.1.7.0
|
21
|
-
fast_finish: true
|
22
|
-
branches:
|
23
|
-
only: master
|
24
|
-
notifications:
|
25
|
-
email: false
|
data/CODE_OF_CONDUCT.md
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
# Contributor Code of Conduct
|
2
|
-
|
3
|
-
As contributors and maintainers of this project, and in the interest of
|
4
|
-
fostering an open and welcoming community, we pledge to respect all people who
|
5
|
-
contribute through reporting issues, posting feature requests, updating
|
6
|
-
documentation, submitting pull requests or patches, and other activities.
|
7
|
-
|
8
|
-
We are committed to making participation in this project a harassment-free
|
9
|
-
experience for everyone, regardless of level of experience, gender, gender
|
10
|
-
identity and expression, sexual orientation, disability, personal appearance,
|
11
|
-
body size, race, ethnicity, age, religion, or nationality.
|
12
|
-
|
13
|
-
Examples of unacceptable behavior by participants include:
|
14
|
-
|
15
|
-
* The use of sexualized language or imagery
|
16
|
-
* Personal attacks
|
17
|
-
* Trolling or insulting/derogatory comments
|
18
|
-
* Public or private harassment
|
19
|
-
* Publishing other's private information, such as physical or electronic
|
20
|
-
addresses, without explicit permission
|
21
|
-
* Other unethical or unprofessional conduct
|
22
|
-
|
23
|
-
Project maintainers have the right and responsibility to remove, edit, or
|
24
|
-
reject comments, commits, code, wiki edits, issues, and other contributions
|
25
|
-
that are not aligned to this Code of Conduct, or to ban temporarily or
|
26
|
-
permanently any contributor for other behaviors that they deem inappropriate,
|
27
|
-
threatening, offensive, or harmful.
|
28
|
-
|
29
|
-
By adopting this Code of Conduct, project maintainers commit themselves to
|
30
|
-
fairly and consistently applying these principles to every aspect of managing
|
31
|
-
this project. Project maintainers who do not follow or enforce the Code of
|
32
|
-
Conduct may be permanently removed from the project team.
|
33
|
-
|
34
|
-
This code of conduct applies both within project spaces and in public spaces
|
35
|
-
when an individual is representing the project or its community.
|
36
|
-
|
37
|
-
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
38
|
-
reported by contacting a project maintainer at [email]. All
|
39
|
-
complaints will be reviewed and investigated and will result in a response that
|
40
|
-
is deemed necessary and appropriate to the circumstances. Maintainers are
|
41
|
-
obligated to maintain confidentiality with regard to the reporter of an
|
42
|
-
incident.
|
43
|
-
|
44
|
-
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
45
|
-
version 1.3.0, available at
|
46
|
-
[http://contributor-covenant.org/version/1/3/0/][version]
|
47
|
-
|
48
|
-
[homepage]: http://contributor-covenant.org
|
49
|
-
[version]: http://contributor-covenant.org/version/1/3/0/
|
data/Gemfile
DELETED
data/appveyor.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
---
|
2
|
-
install:
|
3
|
-
- SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
|
4
|
-
- ruby --version
|
5
|
-
- gem --version
|
6
|
-
- bundle install
|
7
|
-
build: off
|
8
|
-
test_script:
|
9
|
-
- bundle exec rake ci
|
10
|
-
environment:
|
11
|
-
matrix:
|
12
|
-
- ruby_version: "200"
|
13
|
-
- ruby_version: "200-x64"
|
14
|
-
- ruby_version: "21"
|
15
|
-
- ruby_version: "21-x64"
|
16
|
-
- ruby_version: "22"
|
17
|
-
- ruby_version: "22-x64"
|
18
|
-
- ruby_version: "23"
|
19
|
-
- ruby_version: "23-x64"
|
20
|
-
- ruby_version: "24"
|
21
|
-
- ruby_version: "24-x64"
|
22
|
-
- ruby_version: "25"
|
23
|
-
- ruby_version: "25-x64"
|
24
|
-
matrix:
|
25
|
-
allow_failures:
|
26
|
-
- ruby_version: "25"
|