schlueter-rushmate 0.0.6 → 0.0.7
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.
- data/History.txt +5 -0
- data/Manifest.txt +7 -2
- data/README +1 -1
- data/Rakefile +5 -0
- data/lib/rushmate/command.rb +2 -2
- data/lib/rushmate/user_input.rb +1 -1
- data/rushmate.gemspec +8 -3
- data/test/command_test.rb +49 -0
- data/test/helper.rb +5 -0
- data/test/textmate_helper_test.rb +53 -0
- data/test/user_input_test.rb +17 -0
- metadata +7 -2
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
History.txt
|
2
2
|
Manifest.txt
|
3
3
|
README
|
4
|
-
|
4
|
+
Rakefile
|
5
5
|
lib/rushmate.rb
|
6
6
|
lib/rushmate/command.rb
|
7
7
|
lib/rushmate/exit.rb
|
8
8
|
lib/rushmate/textmate_helper.rb
|
9
|
-
lib/rushmate/user_input.rb
|
9
|
+
lib/rushmate/user_input.rb
|
10
|
+
rushmate.gemspec
|
11
|
+
test/command_test.rb
|
12
|
+
test/helper.rb
|
13
|
+
test/textmate_helper_test.rb
|
14
|
+
test/user_input_test.rb
|
data/README
CHANGED
@@ -32,7 +32,7 @@ Rushmate::Command.new {
|
|
32
32
|
# if there are multiple files prompt the user for which file they want to switch to
|
33
33
|
# then switch to their selection
|
34
34
|
menu_files = found_files.collect { |f| f.full_path.gsub(project_directory.full_path, "") }
|
35
|
-
project_directory[
|
35
|
+
project_directory[user_input.quick_menu_from_array(menu_files)].mate
|
36
36
|
end
|
37
37
|
end
|
38
38
|
}
|
data/Rakefile
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
task :coverage do
|
2
|
+
system("rm -fr coverage")
|
3
|
+
system("export TM_SUPPORT_PATH=/Applications/TextMate.app/Contents/SharedSupport/Support && rcov --sort=coverage --threshold=100 --exclude=gems/*,TextMate.app --sort=coverage test/*_test.rb")
|
4
|
+
system("open coverage/index.html")
|
5
|
+
end
|
data/lib/rushmate/command.rb
CHANGED
@@ -5,7 +5,7 @@ module Rushmate
|
|
5
5
|
attr_accessor :shell
|
6
6
|
def initialize(&block)
|
7
7
|
setup_shell
|
8
|
-
self.instance_eval(&block)
|
8
|
+
self.instance_eval(&block) if block
|
9
9
|
end
|
10
10
|
|
11
11
|
def execute(thing)
|
@@ -21,7 +21,7 @@ module Rushmate
|
|
21
21
|
Rushmate::Exit
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
24
|
+
def user_input
|
25
25
|
Rushmate::UserInput
|
26
26
|
end
|
27
27
|
|
data/lib/rushmate/user_input.rb
CHANGED
data/rushmate.gemspec
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "rushmate"
|
3
|
-
s.version = "0.0.
|
3
|
+
s.version = "0.0.7"
|
4
4
|
s.email = "schlueter@gmail.com"
|
5
5
|
s.homepage = "http://github.com/schlueter/rushmate"
|
6
|
-
s.description = "
|
6
|
+
s.description = "Makes writing TextMate commands easier by providing convient methods for getting environment variables and getting user input."
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.date = %q{2008-08-14}
|
9
9
|
s.require_paths = ["lib"]
|
@@ -14,12 +14,17 @@ Gem::Specification.new do |s|
|
|
14
14
|
"History.txt",
|
15
15
|
"Manifest.txt",
|
16
16
|
"README",
|
17
|
+
"Rakefile",
|
17
18
|
"rushmate.gemspec",
|
18
19
|
"lib/rushmate.rb",
|
19
20
|
"lib/rushmate/command.rb",
|
20
21
|
"lib/rushmate/exit.rb",
|
21
22
|
"lib/rushmate/textmate_helper.rb",
|
22
|
-
"lib/rushmate/user_input.rb"
|
23
|
+
"lib/rushmate/user_input.rb",
|
24
|
+
"test/command_test.rb",
|
25
|
+
"test/helper.rb",
|
26
|
+
"test/textmate_helper_test.rb",
|
27
|
+
"test/user_input_test.rb"
|
23
28
|
]
|
24
29
|
|
25
30
|
s.has_rdoc = true
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/helper"
|
2
|
+
|
3
|
+
class CommandText < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_shell
|
9
|
+
rush_shell = Rushmate::Command.new.shell
|
10
|
+
assert_not_nil rush_shell
|
11
|
+
assert rush_shell.is_a?(Rush::Shell)
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_execute
|
15
|
+
rush_output = Rushmate::Command.new.execute("root")
|
16
|
+
assert_not_nil(rush_output)
|
17
|
+
assert rush_output.is_a?(Rush::Dir)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_method_missing
|
21
|
+
rush_output = Rushmate::Command.new.root
|
22
|
+
assert_not_nil(rush_output)
|
23
|
+
assert rush_output.is_a?(Rush::Dir)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_exit
|
27
|
+
exit = Rushmate::Command.new.exit
|
28
|
+
assert_not_nil(exit)
|
29
|
+
assert_equal(Rushmate::Exit, exit)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_user_input
|
33
|
+
user_input = Rushmate::Command.new.user_input
|
34
|
+
assert_not_nil(user_input)
|
35
|
+
assert_equal(Rushmate::UserInput, user_input)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_initialize_should_call_block
|
39
|
+
assert_nil($last_res)
|
40
|
+
Rushmate::Command.new {
|
41
|
+
root
|
42
|
+
}
|
43
|
+
assert_not_nil($last_res)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_should_mixin_textmate_helper
|
47
|
+
assert Rushmate::Command.new.respond_to?(:project_directory)
|
48
|
+
end
|
49
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/helper"
|
2
|
+
|
3
|
+
class TextmateHelperTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@proxy = Class.new
|
6
|
+
@proxy.send(:include, Rushmate::TextmateHelper)
|
7
|
+
@instance = @proxy.new
|
8
|
+
@instance.stubs(:root).returns({"/root/" => true, "/root/foo.rb" => true, "/root/lib/" => true})
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_current_word
|
12
|
+
ENV["TM_CURRENT_WORD"] = "foo"
|
13
|
+
assert_equal("foo", @instance.current_word)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_line
|
17
|
+
ENV["TM_CURRENT_LINE"] = "foo bar"
|
18
|
+
assert_equal("foo bar", @instance.current_line)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_tm_filename
|
22
|
+
ENV["TM_FILENAME"] = "foo.rb"
|
23
|
+
assert_equal("foo.rb", @instance.tm_filename)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_project_directory?
|
27
|
+
ENV["TM_PROJECT_DIRECTORY"] = nil
|
28
|
+
assert !@instance.project_directory?
|
29
|
+
|
30
|
+
ENV["TM_PROJECT_DIRECTORY"] = "/"
|
31
|
+
assert @instance.project_directory?
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_selected_text
|
35
|
+
ENV["TM_SELECTED_TEXT"] = "foo b"
|
36
|
+
assert_equal("foo b", @instance.selected_text)
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_project_directory
|
40
|
+
ENV["TM_PROJECT_DIRECTORY"] = "/root"
|
41
|
+
assert @instance.project_directory
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_tm_directory
|
45
|
+
ENV["TM_DIRECTORY"] = "/root/lib"
|
46
|
+
assert @instance.tm_directory
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_tm_file
|
50
|
+
ENV["TM_FILEPATH"] = "/root/foo.rb"
|
51
|
+
@instance.tm_file
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/helper"
|
2
|
+
|
3
|
+
class UserInputTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_quick_menu_from_array_returns_the_string_the_user_selected
|
9
|
+
menu_items = %w[foo bar baz]
|
10
|
+
TextMate::UI.stubs(:menu).returns(0)
|
11
|
+
assert_equal("foo", Rushmate::UserInput.quick_menu_from_array(menu_items))
|
12
|
+
TextMate::UI.stubs(:menu).returns(1)
|
13
|
+
assert_equal("bar", Rushmate::UserInput.quick_menu_from_array(menu_items))
|
14
|
+
TextMate::UI.stubs(:menu).returns(2)
|
15
|
+
assert_equal("baz", Rushmate::UserInput.quick_menu_from_array(menu_items))
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schlueter-rushmate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Schlueter
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: "0.4"
|
23
23
|
version:
|
24
|
-
description:
|
24
|
+
description: Makes writing TextMate commands easier by providing convient methods for getting environment variables and getting user input.
|
25
25
|
email: schlueter@gmail.com
|
26
26
|
executables: []
|
27
27
|
|
@@ -35,12 +35,17 @@ files:
|
|
35
35
|
- History.txt
|
36
36
|
- Manifest.txt
|
37
37
|
- README
|
38
|
+
- Rakefile
|
38
39
|
- rushmate.gemspec
|
39
40
|
- lib/rushmate.rb
|
40
41
|
- lib/rushmate/command.rb
|
41
42
|
- lib/rushmate/exit.rb
|
42
43
|
- lib/rushmate/textmate_helper.rb
|
43
44
|
- lib/rushmate/user_input.rb
|
45
|
+
- test/command_test.rb
|
46
|
+
- test/helper.rb
|
47
|
+
- test/textmate_helper_test.rb
|
48
|
+
- test/user_input_test.rb
|
44
49
|
has_rdoc: true
|
45
50
|
homepage: http://github.com/schlueter/rushmate
|
46
51
|
post_install_message:
|