reditor 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -0
- data/README.md +25 -20
- data/bin/reditor +0 -3
- data/lib/reditor.rb +0 -5
- data/lib/reditor/command.rb +56 -27
- data/lib/reditor/library_locator.rb +15 -7
- data/lib/reditor/library_search_query.rb +31 -25
- data/lib/reditor/version.rb +1 -1
- data/reditor.gemspec +5 -4
- data/spec/command_spec.rb +37 -16
- data/spec/library_search_query_spec.rb +6 -6
- metadata +23 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65d269738917fa656392dbfdc72911162d4bceb1
|
4
|
+
data.tar.gz: 9c2a310abe62329700de7faf0a991327796c64c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c7832bc2ac674fbbc2da482810af2bf5733acde8d9ad9073df2e50d3aeacf1080ada3acb3ee288f6b4277f3e5f91e0d389c7e3bc0e5a0d61e653d3b6d191613
|
7
|
+
data.tar.gz: 6812fbaf4a82210d4eb0f40e6e0a80d71040316a071be069e9790af510e781961e1e318663aa81ce328d70b9463dbbeffea292d858bc90f2ba88c7473a518e80
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -2,33 +2,19 @@
|
|
2
2
|
|
3
3
|
Reditor provides `reditor` command.
|
4
4
|
|
5
|
-
This command detect and open a library from
|
5
|
+
This command detect and open a library from `$LOAD_PATH` or rubygems.
|
6
6
|
|
7
|
-
reditor requires the EDITOR variable.
|
7
|
+
reditor requires the `$EDITOR` variable.
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
11
|
-
Add this line to your application's Gemfile:
|
12
|
-
|
13
|
-
```ruby
|
14
|
-
gem 'reditor'
|
15
|
-
```
|
16
|
-
|
17
|
-
And then execute:
|
18
|
-
|
19
|
-
```
|
20
|
-
$ bundle
|
21
|
-
```
|
22
|
-
|
23
|
-
Or install it yourself as:
|
24
|
-
|
25
11
|
```
|
26
12
|
$ gem install reditor
|
27
13
|
```
|
28
14
|
|
29
15
|
## Usage
|
30
16
|
|
31
|
-
### Open Standard Library (pure ruby only)
|
17
|
+
### Open a Standard Library (pure ruby only)
|
32
18
|
|
33
19
|
```
|
34
20
|
$ reditor set
|
@@ -37,13 +23,32 @@ Or install it yourself as:
|
|
37
23
|
### Open a gem
|
38
24
|
|
39
25
|
```
|
40
|
-
$ reditor
|
26
|
+
$ reditor railties
|
41
27
|
```
|
42
28
|
|
43
|
-
### Open a
|
29
|
+
### Open a library by $SHELL
|
44
30
|
|
45
31
|
```
|
46
|
-
$ reditor sh
|
32
|
+
$ reditor sh railties
|
33
|
+
```
|
34
|
+
|
35
|
+
### Open a gem on bundler project
|
36
|
+
|
37
|
+
Reditor opens a gem that specified in Gemfile by default.
|
38
|
+
If you want to avoid it, pass the `--global` option.
|
39
|
+
|
40
|
+
```
|
41
|
+
$ gem list rack
|
42
|
+
|
43
|
+
*** LOCAL GEMS ***
|
44
|
+
|
45
|
+
rack (1.5.2, 1.4.5)
|
46
|
+
|
47
|
+
$ bundle list rack
|
48
|
+
/(snip)/rack-1.4.5
|
49
|
+
|
50
|
+
$ reditor rack # open rack-1.4.5
|
51
|
+
$ reditor rack --global # open rack-1.5.2
|
47
52
|
```
|
48
53
|
|
49
54
|
## Contributing
|
data/bin/reditor
CHANGED
data/lib/reditor.rb
CHANGED
data/lib/reditor/command.rb
CHANGED
@@ -4,14 +4,29 @@ require 'thor'
|
|
4
4
|
|
5
5
|
module Reditor
|
6
6
|
class Command < Thor
|
7
|
+
class << self
|
8
|
+
attr_accessor :restarted
|
9
|
+
|
10
|
+
def restart(args)
|
11
|
+
self.restarted = true
|
12
|
+
|
13
|
+
start args
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
7
17
|
map '-v' => :version,
|
8
18
|
'-h' => :help,
|
9
19
|
'--version' => :version,
|
10
20
|
'--help' => :help
|
11
21
|
|
12
|
-
|
13
|
-
|
14
|
-
|
22
|
+
default_command :open
|
23
|
+
|
24
|
+
desc 'open [NAME]', 'Detect and open a library'
|
25
|
+
method_options global: false
|
26
|
+
def open(name = nil)
|
27
|
+
return invoke :help unless name
|
28
|
+
|
29
|
+
detect_exec name, global: options[:global] do |dir, file|
|
15
30
|
say "Moving to #{dir}", :green
|
16
31
|
Dir.chdir dir do
|
17
32
|
say "Opening #{file}", :green
|
@@ -21,9 +36,10 @@ module Reditor
|
|
21
36
|
end
|
22
37
|
end
|
23
38
|
|
24
|
-
desc
|
39
|
+
desc 'sh [NAME]', 'Detect and open a library by $SHELL'
|
40
|
+
method_options global: false
|
25
41
|
def sh(name)
|
26
|
-
detect_exec name do |dir, _|
|
42
|
+
detect_exec name, global: options[:global] do |dir, _|
|
27
43
|
say "Moving to #{dir}", :green
|
28
44
|
Dir.chdir dir do
|
29
45
|
exec shell_command
|
@@ -36,40 +52,47 @@ module Reditor
|
|
36
52
|
say "Reditor version #{VERSION}"
|
37
53
|
end
|
38
54
|
|
39
|
-
def method_missing(name, *args, &block)
|
40
|
-
open name
|
41
|
-
end
|
42
|
-
|
43
55
|
private
|
44
56
|
|
45
|
-
def detect_exec(name, &block)
|
46
|
-
path = LibraryLocator.detect(name)
|
47
|
-
|
48
|
-
return choose_exec name, &block unless path
|
57
|
+
def detect_exec(name, options = {}, &block)
|
58
|
+
path = LibraryLocator.detect!(name, options)
|
49
59
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
else
|
54
|
-
[path.to_path, '.']
|
55
|
-
end
|
60
|
+
do_exec path, &block
|
61
|
+
rescue LibraryNotFound => e
|
62
|
+
say e.message
|
56
63
|
|
57
|
-
|
64
|
+
choose_exec name, options, &block
|
58
65
|
end
|
59
66
|
|
60
|
-
def choose_exec(name, &block)
|
61
|
-
names = LibrarySearchQuery.search(name)
|
67
|
+
def choose_exec(name, options = {}, &block)
|
68
|
+
names = LibrarySearchQuery.search(name, options)
|
62
69
|
|
63
70
|
names.each.with_index do |name, i|
|
64
71
|
say "[#{i}] #{name}"
|
65
72
|
end
|
66
|
-
print 'Choose number of library [0]> '
|
67
73
|
|
68
|
-
|
74
|
+
exit_silently unless num = ask('Choose number of library [0]>')
|
69
75
|
|
70
|
-
|
76
|
+
if name = names[num.to_i]
|
77
|
+
do_exec LibraryLocator.detect!(name, options), &block
|
78
|
+
else
|
79
|
+
abort "#{num} isn't included in the list."
|
80
|
+
end
|
81
|
+
rescue LibraryNotFound => e
|
82
|
+
abort e.message
|
71
83
|
rescue Interrupt
|
72
|
-
|
84
|
+
exit_silently
|
85
|
+
end
|
86
|
+
|
87
|
+
def do_exec(path, &block)
|
88
|
+
dir, file =
|
89
|
+
if path.file?
|
90
|
+
[path.dirname.to_path, path.basename.to_path]
|
91
|
+
else
|
92
|
+
[path.to_path, '.']
|
93
|
+
end
|
94
|
+
|
95
|
+
block.call dir, file
|
73
96
|
end
|
74
97
|
|
75
98
|
def editor_command
|
@@ -80,10 +103,16 @@ module Reditor
|
|
80
103
|
ENV['SHELL'] or raise '$SHELL is not provided.'
|
81
104
|
end
|
82
105
|
|
83
|
-
def
|
106
|
+
def exit_silently
|
84
107
|
puts
|
85
108
|
|
86
109
|
exit
|
87
110
|
end
|
111
|
+
|
112
|
+
def method_missing(name, *args, &block)
|
113
|
+
return super if Command.restarted
|
114
|
+
|
115
|
+
Command.restart ['open', name.to_s, *args]
|
116
|
+
end
|
88
117
|
end
|
89
118
|
end
|
@@ -3,16 +3,23 @@ require 'pathname'
|
|
3
3
|
# TODO: care version specification
|
4
4
|
module Reditor
|
5
5
|
class LibraryLocator
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
class << self
|
7
|
+
def detect(name, options = {})
|
8
|
+
new(name.to_s, options).detect
|
9
|
+
end
|
10
|
+
|
11
|
+
def detect!(name, options = {})
|
12
|
+
detect(name, options) or raise LibraryNotFound, "Can't detect library `#{name}'."
|
13
|
+
end
|
10
14
|
end
|
11
15
|
|
12
|
-
|
16
|
+
include BundlerSupport
|
17
|
+
|
18
|
+
attr_reader :name, :options
|
13
19
|
|
14
|
-
def initialize(name)
|
15
|
-
@name
|
20
|
+
def initialize(name, options)
|
21
|
+
@name = name
|
22
|
+
@options = {global: false}.merge(options)
|
16
23
|
end
|
17
24
|
|
18
25
|
def detect
|
@@ -20,6 +27,7 @@ module Reditor
|
|
20
27
|
end
|
21
28
|
|
22
29
|
def detect_from_bundler
|
30
|
+
return nil if options[:global]
|
23
31
|
return nil unless spec = bundler_specs.find {|spec| spec.name == name }
|
24
32
|
|
25
33
|
Pathname(spec.full_gem_path)
|
@@ -5,60 +5,66 @@ module Reditor
|
|
5
5
|
class LibrarySearchQuery
|
6
6
|
include BundlerSupport
|
7
7
|
|
8
|
-
def self.search(query,
|
9
|
-
new(query).search
|
8
|
+
def self.search(query, options = {})
|
9
|
+
new(query, options).search
|
10
10
|
end
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
attr_reader :query, :options
|
13
|
+
attr_reader :half_pattern, :partial_pattern
|
14
14
|
|
15
|
-
|
16
|
-
@
|
15
|
+
def initialize(query, options = {})
|
16
|
+
@query = query.to_s
|
17
|
+
@options = {limit: 20, global: false}.merge(options)
|
18
|
+
|
19
|
+
quoted = Regexp.quote(query)
|
20
|
+
@half_pattern = /^#{quoted}|#{quoted}$/i
|
17
21
|
@partial_pattern = /#{quoted}/i
|
18
22
|
end
|
19
23
|
|
20
|
-
def search(limit)
|
21
|
-
|
22
|
-
|
24
|
+
def search(limit = options[:limit])
|
25
|
+
candidates.sort_by {|name|
|
26
|
+
[*match_scores(name), *distance_scores(name), name]
|
23
27
|
}.take(limit)
|
24
28
|
end
|
25
29
|
|
26
|
-
def
|
27
|
-
@
|
28
|
-
|
29
|
-
|
30
|
-
|
30
|
+
def candidates
|
31
|
+
@candidates ||= (
|
32
|
+
candidates_from_loadpath +
|
33
|
+
candidates_from_gem +
|
34
|
+
candidates_from_bundler
|
31
35
|
).uniq
|
32
36
|
end
|
33
37
|
|
34
38
|
private
|
35
39
|
|
36
|
-
def
|
40
|
+
def match_scores(name)
|
37
41
|
words = name.split(/-_/)
|
38
|
-
|
39
|
-
partial_count = words.grep(
|
42
|
+
half_count = words.grep(half_pattern).count
|
43
|
+
partial_count = words.grep(partial_pattern).count
|
40
44
|
|
41
|
-
[-
|
45
|
+
[-half_count, -partial_count]
|
42
46
|
end
|
43
47
|
|
44
|
-
def
|
45
|
-
[Hotwater.damerau_levenshtein_distance(
|
48
|
+
def distance_scores(name)
|
49
|
+
[Hotwater.damerau_levenshtein_distance(query, name)]
|
46
50
|
end
|
47
51
|
|
48
|
-
def
|
52
|
+
def candidates_from_bundler
|
53
|
+
return [] if options[:global]
|
54
|
+
|
49
55
|
bundler_specs.map(&:name)
|
50
56
|
end
|
51
57
|
|
52
|
-
def
|
58
|
+
def candidates_from_gem
|
53
59
|
Gem::Specification.map(&:name)
|
54
60
|
rescue Gem::LoadError
|
55
61
|
[]
|
56
62
|
end
|
57
63
|
|
58
|
-
def
|
59
|
-
$LOAD_PATH.each_with_object([]) {|path,
|
64
|
+
def candidates_from_loadpath
|
65
|
+
$LOAD_PATH.each_with_object([]) {|path, memo|
|
60
66
|
Pathname(File.expand_path(path)).entries.each do |entry|
|
61
|
-
|
67
|
+
memo << entry.basename('.rb').to_s if entry.extname == '.rb'
|
62
68
|
end
|
63
69
|
}
|
64
70
|
end
|
data/lib/reditor/version.rb
CHANGED
data/reditor.gemspec
CHANGED
@@ -4,8 +4,8 @@ require File.expand_path('../lib/reditor/version', __FILE__)
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.authors = ['hibariya']
|
6
6
|
gem.email = ['celluloid.key@gmail.com']
|
7
|
-
gem.description = %q{Open a ruby library with
|
8
|
-
gem.summary = %q{Open a ruby library with
|
7
|
+
gem.description = %q{Open a ruby library with $EDITOR. Reditor supports rubygems, bundler, and stdlib (pure ruby).}
|
8
|
+
gem.summary = %q{Open a ruby library with $EDITOR.}
|
9
9
|
gem.homepage = 'https://github.com/hibariya/reditor'
|
10
10
|
gem.licenses = ['MIT']
|
11
11
|
|
@@ -18,10 +18,11 @@ Gem::Specification.new do |gem|
|
|
18
18
|
|
19
19
|
gem.add_runtime_dependency 'hotwater', '~> 0.1.2'
|
20
20
|
gem.add_runtime_dependency 'thor', '~> 0.18.1'
|
21
|
-
|
21
|
+
|
22
|
+
# Add into runtime dependency to avoid `WARN: Unresolved specs during Gem::Specification.reset: rake (>= 0)'
|
23
|
+
gem.add_runtime_dependency 'rake', '~> 10.1.1'
|
22
24
|
|
23
25
|
gem.add_development_dependency 'pry'
|
24
|
-
gem.add_development_dependency 'rake'
|
25
26
|
gem.add_development_dependency 'rspec', '~> 2.14.1'
|
26
27
|
gem.add_development_dependency 'tapp'
|
27
28
|
end
|
data/spec/command_spec.rb
CHANGED
@@ -3,20 +3,26 @@ require 'open3'
|
|
3
3
|
|
4
4
|
describe 'reditor command' do
|
5
5
|
def capture_reditor(library_name, options = {})
|
6
|
-
options = {editor: 'echo',
|
6
|
+
options = {editor: 'echo', on: nil, global: false}.merge(options)
|
7
7
|
command = PROJECT_ROOT.join('bin/reditor').to_path
|
8
|
-
project = PROJECT_ROOT.join("spec/samples/#{options[:
|
8
|
+
project = PROJECT_ROOT.join("spec/samples/#{options[:on]}").to_path
|
9
9
|
|
10
10
|
Bundler.with_clean_env {
|
11
|
-
Open3.capture2e(
|
11
|
+
output, process = Open3.capture2e(
|
12
12
|
{'EDITOR' => options[:editor]},
|
13
13
|
command,
|
14
14
|
library_name,
|
15
|
+
"--global=#{options[:global]}",
|
15
16
|
chdir: project
|
16
|
-
)
|
17
|
+
)
|
18
|
+
|
19
|
+
raise "Command failed: #{output}" unless process.success?
|
20
|
+
|
21
|
+
output
|
17
22
|
}
|
18
23
|
end
|
19
24
|
|
25
|
+
let(:thor_in_global_gems) { /thor-0\.18\.*/ }
|
20
26
|
let(:thor_in_bundler_project) { /thor-0\.14\.6/ }
|
21
27
|
|
22
28
|
before :all do
|
@@ -27,19 +33,19 @@ describe 'reditor command' do
|
|
27
33
|
|
28
34
|
describe '#open' do
|
29
35
|
context 'Standard library in non-bundler broject (happy case)' do
|
30
|
-
subject { capture_reditor('
|
36
|
+
subject { capture_reditor('webrick', on: 'blank_project') }
|
31
37
|
|
32
|
-
it { should match /
|
38
|
+
it { should match /webrick\.rb$/ }
|
33
39
|
end
|
34
40
|
|
35
41
|
context 'Incorrect name library in non-bundler broject' do
|
36
|
-
subject { capture_reditor('cvs',
|
42
|
+
subject { capture_reditor('cvs', on: 'blank_project') }
|
37
43
|
|
38
44
|
it { should match /\[0\] csv/ }
|
39
45
|
end
|
40
46
|
|
41
|
-
context '
|
42
|
-
subject { capture_reditor('thor',
|
47
|
+
context 'Rubygems library in non-bundler project' do
|
48
|
+
subject { capture_reditor('thor', on: 'blank_project') }
|
43
49
|
|
44
50
|
it { should match /thor-/m }
|
45
51
|
|
@@ -48,25 +54,40 @@ describe 'reditor command' do
|
|
48
54
|
end
|
49
55
|
end
|
50
56
|
|
51
|
-
context '
|
52
|
-
subject { capture_reditor('thor',
|
57
|
+
context 'Rubygems library in bundler project (installed)' do
|
58
|
+
subject { capture_reditor('thor', on: 'bundler_project') }
|
53
59
|
|
54
60
|
specify 'bundler gem should be used' do
|
55
61
|
subject.should match thor_in_bundler_project
|
56
62
|
end
|
57
63
|
end
|
58
64
|
|
59
|
-
context '
|
60
|
-
subject { capture_reditor('thor',
|
65
|
+
context 'Rubygems library in bundler project (not yet installed)' do
|
66
|
+
subject { capture_reditor('thor', on: 'bundler_project_without_lockfile') }
|
61
67
|
|
62
68
|
it { should match thor_in_bundler_project }
|
63
69
|
end
|
64
70
|
|
71
|
+
context 'with --global option' do
|
72
|
+
subject { capture_reditor('thor', on: 'bundler_project', global: true) }
|
73
|
+
|
74
|
+
it { should match thor_in_global_gems }
|
75
|
+
it { should_not match thor_in_bundler_project }
|
76
|
+
end
|
77
|
+
|
65
78
|
context 'with incorrect name' do
|
66
|
-
subject { capture_reditor('
|
79
|
+
subject { capture_reditor('rb') }
|
80
|
+
|
81
|
+
it { should match /\[\d+\]\sirb$/ }
|
82
|
+
it { should match /\[\d+\]\serb$/ }
|
83
|
+
it { should match /\[\d+\]\sdrb$/ }
|
84
|
+
it { should match /Choose number of library/ }
|
85
|
+
end
|
86
|
+
|
87
|
+
context 'with incorrect name and --global option' do
|
88
|
+
subject { capture_reditor('tho', on: 'bundler_project', global: true) }
|
67
89
|
|
68
|
-
it { should match /\[\d+\]\
|
69
|
-
it { should match /\[\d+\]\sthor/ }
|
90
|
+
it { should match /\[\d+\]\sthor$/ }
|
70
91
|
it { should match /Choose number of library/ }
|
71
92
|
end
|
72
93
|
end
|
@@ -4,7 +4,7 @@ require 'spec_helper'
|
|
4
4
|
describe Reditor::LibrarySearchQuery do
|
5
5
|
describe '.search(query, limit)' do
|
6
6
|
before do
|
7
|
-
Reditor::LibrarySearchQuery.any_instance.stub(:
|
7
|
+
Reditor::LibrarySearchQuery.any_instance.stub(:candidates) {
|
8
8
|
%w(
|
9
9
|
rails_admin
|
10
10
|
railtie
|
@@ -19,31 +19,31 @@ describe Reditor::LibrarySearchQuery do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
describe 'rails' do
|
22
|
-
subject { Reditor::LibrarySearchQuery.search('rails', 3) }
|
22
|
+
subject { Reditor::LibrarySearchQuery.search('rails', limit: 3) }
|
23
23
|
|
24
24
|
it { should == %w(rails_admin jquery-atwho-rails railtie) }
|
25
25
|
end
|
26
26
|
|
27
27
|
describe 'rails_' do
|
28
|
-
subject { Reditor::LibrarySearchQuery.search('rails_', 2) }
|
28
|
+
subject { Reditor::LibrarySearchQuery.search('rails_', limit: 2) }
|
29
29
|
|
30
30
|
it { should == %w(rails_admin railtie) }
|
31
31
|
end
|
32
32
|
|
33
33
|
describe 'cvs' do
|
34
|
-
subject { Reditor::LibrarySearchQuery.search('cvs', 1) }
|
34
|
+
subject { Reditor::LibrarySearchQuery.search('cvs', limit: 1) }
|
35
35
|
|
36
36
|
it { should == %w(csv) }
|
37
37
|
end
|
38
38
|
|
39
39
|
describe 'atwho' do
|
40
|
-
subject { Reditor::LibrarySearchQuery.search('atwho', 2) }
|
40
|
+
subject { Reditor::LibrarySearchQuery.search('atwho', limit: 2) }
|
41
41
|
|
42
42
|
it { should == %w(jquery-atwho-rails itwho) }
|
43
43
|
end
|
44
44
|
|
45
45
|
describe 'active' do
|
46
|
-
subject { Reditor::LibrarySearchQuery.search('active', 3) }
|
46
|
+
subject { Reditor::LibrarySearchQuery.search('active', limit: 3) }
|
47
47
|
|
48
48
|
it { should == %w(activemodel active_decorator action) }
|
49
49
|
end
|
metadata
CHANGED
@@ -1,114 +1,100 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reditor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- hibariya
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hotwater
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.1.2
|
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
26
|
version: 0.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 0.18.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.18.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 10.1.
|
47
|
+
version: 10.1.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 10.1.
|
54
|
+
version: 10.1.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '>='
|
66
|
+
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rspec
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - ~>
|
73
|
+
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
75
|
version: 2.14.1
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - ~>
|
80
|
+
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: 2.14.1
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: tapp
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- -
|
87
|
+
- - ">="
|
102
88
|
- !ruby/object:Gem::Version
|
103
89
|
version: '0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- -
|
94
|
+
- - ">="
|
109
95
|
- !ruby/object:Gem::Version
|
110
96
|
version: '0'
|
111
|
-
description: Open a ruby library with
|
97
|
+
description: Open a ruby library with $EDITOR. Reditor supports rubygems, bundler,
|
112
98
|
and stdlib (pure ruby).
|
113
99
|
email:
|
114
100
|
- celluloid.key@gmail.com
|
@@ -117,8 +103,8 @@ executables:
|
|
117
103
|
extensions: []
|
118
104
|
extra_rdoc_files: []
|
119
105
|
files:
|
120
|
-
- .gitignore
|
121
|
-
- .travis.yml
|
106
|
+
- ".gitignore"
|
107
|
+
- ".travis.yml"
|
122
108
|
- Gemfile
|
123
109
|
- LICENSE
|
124
110
|
- README.md
|
@@ -147,20 +133,20 @@ require_paths:
|
|
147
133
|
- lib
|
148
134
|
required_ruby_version: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- -
|
136
|
+
- - ">="
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: '0'
|
153
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
140
|
requirements:
|
155
|
-
- -
|
141
|
+
- - ">="
|
156
142
|
- !ruby/object:Gem::Version
|
157
143
|
version: '0'
|
158
144
|
requirements: []
|
159
145
|
rubyforge_project:
|
160
|
-
rubygems_version: 2.
|
146
|
+
rubygems_version: 2.2.2
|
161
147
|
signing_key:
|
162
148
|
specification_version: 4
|
163
|
-
summary: Open a ruby library with
|
149
|
+
summary: Open a ruby library with $EDITOR.
|
164
150
|
test_files:
|
165
151
|
- spec/command_spec.rb
|
166
152
|
- spec/library_search_query_spec.rb
|