mactag 0.3.3 → 0.4.0
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/README.markdown +27 -5
- data/VERSION +1 -1
- data/lib/mactag.rb +9 -4
- data/lib/mactag/builder.rb +15 -41
- data/lib/mactag/config.rb +23 -3
- data/lib/mactag/ctags.rb +22 -13
- data/lib/mactag/event_handler.rb +22 -0
- data/lib/mactag/railtie.rb +1 -1
- data/lib/mactag/server.rb +48 -0
- data/lib/mactag/tag/gem.rb +1 -19
- data/lib/mactag/tag/rails.rb +4 -24
- data/lib/mactag/tags_file.rb +31 -0
- data/lib/tasks/mactag.rake +17 -4
- data/spec/mactag/builder_spec.rb +135 -0
- data/spec/mactag/config_spec.rb +50 -0
- data/spec/mactag/ctags_spec.rb +40 -0
- data/spec/mactag/dsl_spec.rb +66 -0
- data/spec/mactag/server_spec.rb +4 -0
- data/spec/mactag/tag/app_spec.rb +14 -0
- data/spec/mactag/tag/gem_spec.rb +110 -0
- data/spec/mactag/tag/plugin_spec.rb +57 -0
- data/spec/mactag/tag/rails_spec.rb +94 -0
- data/spec/mactag/tags_file_spec.rb +39 -0
- data/spec/mactag_spec.rb +4 -0
- metadata +67 -34
- data/test/mactag/builder_test.rb +0 -77
- data/test/mactag/config_test.rb +0 -36
- data/test/mactag/dsl_test.rb +0 -66
- data/test/mactag/tag/app_test.rb +0 -14
- data/test/mactag/tag/gem_test.rb +0 -108
- data/test/mactag/tag/plugin_test.rb +0 -57
- data/test/mactag/tag/rails_test.rb +0 -105
- data/test/mactag_test.rb +0 -4
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Mactag::Tag::Plugin do
|
4
|
+
it 'should have correct plugin path' do
|
5
|
+
Mactag::Tag::Plugin::PLUGIN_PATH.should == 'vendor/plugins'
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#tag' do
|
9
|
+
before do
|
10
|
+
@plugin = Mactag::Tag::Plugin.new('devise')
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should return tag when plugin exist' do
|
14
|
+
@plugin.stub!(:exists?).and_return(true)
|
15
|
+
|
16
|
+
@plugin.tag.should == 'vendor/plugins/devise/lib/**/*.rb'
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should return nil when plugin does not exist' do
|
20
|
+
@plugin.stub!(:exists?).and_return(false)
|
21
|
+
|
22
|
+
@plugin.tag.should be_nil
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe '#exists' do
|
27
|
+
before do
|
28
|
+
@plugin = Mactag::Tag::Plugin.new('devise')
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should be true when plugin exist' do
|
32
|
+
File.stub!(:directory?).and_return(true)
|
33
|
+
|
34
|
+
@plugin.send(:exists?).should be_true
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should be false when plugin does not exist' do
|
38
|
+
File.stub!(:directory?).and_return(false)
|
39
|
+
|
40
|
+
@plugin.send(:exists?).should be_false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#all' do
|
45
|
+
it 'return plugins when they exist' do
|
46
|
+
Dir.stub!(:glob).and_return(['plugin/one', 'plugin/two'])
|
47
|
+
|
48
|
+
Mactag::Tag::Plugin.all.should =~ ['one', 'two']
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'return empty array when no plugins exist' do
|
52
|
+
Dir.stub!(:glob).and_return([])
|
53
|
+
|
54
|
+
Mactag::Tag::Plugin.all.should be_empty
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Mactag::Tag::Rails do
|
4
|
+
it 'should have correct packages' do
|
5
|
+
Mactag::Tag::Rails::PACKAGES.should =~ [:actionmailer, :actionpack, :activemodel, :activerecord, :activeresource, :railties, :activesupport]
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#tag' do
|
9
|
+
before do
|
10
|
+
@rails = Mactag::Tag::Rails.new({})
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'return empty array if no packages' do
|
14
|
+
@rails.stub!(:packages).and_return([])
|
15
|
+
|
16
|
+
@rails.tag.should be_empty
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should return array with gem tags when packages' do
|
20
|
+
@rails.stub!(:packages).and_return([:activemodel, :activerecord])
|
21
|
+
|
22
|
+
o = Object.new
|
23
|
+
def o.tag
|
24
|
+
'tag'
|
25
|
+
end
|
26
|
+
|
27
|
+
Mactag::Tag::Gem.stub!(:new).and_return(o)
|
28
|
+
|
29
|
+
@rails.tag.should =~ ['tag', 'tag']
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#packages' do
|
34
|
+
it 'should return all packages when no arguments' do
|
35
|
+
@rails = Mactag::Tag::Rails.new({})
|
36
|
+
|
37
|
+
@rails.send(:packages).should =~ Mactag::Tag::Rails::PACKAGES
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should return some packages when only specified' do
|
41
|
+
@rails = Mactag::Tag::Rails.new(:only => [:active_support, :activerecord])
|
42
|
+
|
43
|
+
@rails.send(:packages).should =~ [:activesupport, :activerecord]
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'return some packages when except specified' do
|
47
|
+
@rails = Mactag::Tag::Rails.new(:except => [:active_support, :activerecord])
|
48
|
+
|
49
|
+
@rails.send(:packages).should =~ (Mactag::Tag::Rails::PACKAGES - [:activesupport, :activerecord])
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe '#packagize' do
|
54
|
+
before do
|
55
|
+
@rails = Mactag::Tag::Rails.new({})
|
56
|
+
end
|
57
|
+
|
58
|
+
context 'single package' do
|
59
|
+
before do
|
60
|
+
@packagized = @rails.send(:packagize!, 'active_record')
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should return package packagized' do
|
64
|
+
@packagized.should =~ [:activerecord]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context 'multiple packages' do
|
69
|
+
before do
|
70
|
+
@packagized = @rails.send(:packagize!, ['_active_support_', :action_view])
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'should return packages packagized' do
|
74
|
+
@packagized.should =~ [:activesupport, :actionview]
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe '#version' do
|
80
|
+
it 'should pick specified version when given' do
|
81
|
+
@rails = Mactag::Tag::Rails.new({ :version => '3.0.0.rc' })
|
82
|
+
|
83
|
+
@rails.send(:version).should == '3.0.0.rc'
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'pick same rails version as application when not specified version' do
|
87
|
+
Rails.stub!(:version).and_return('3.0.0.beta3')
|
88
|
+
|
89
|
+
@rails = Mactag::Tag::Rails.new({})
|
90
|
+
|
91
|
+
@rails.send(:version).should == '3.0.0.beta3'
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Mactag::TagsFile do
|
4
|
+
before do
|
5
|
+
File.stub!(:join).and_return('_path_to.file.rb')
|
6
|
+
|
7
|
+
@tags_file = Mactag::TagsFile.new('file')
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#delete' do
|
11
|
+
it 'should delete output file' do
|
12
|
+
File.should_receive(:delete).with(@tags_file.instance_variable_get('@output'))
|
13
|
+
|
14
|
+
@tags_file.delete
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe 'exists?' do
|
19
|
+
it 'should exist when file exists' do
|
20
|
+
File.stub!(:exists?).and_return(true)
|
21
|
+
|
22
|
+
@tags_file.exist?.should be_true
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should not exist when file does not exist' do
|
26
|
+
File.stub!(:exists?).and_return(false)
|
27
|
+
|
28
|
+
@tags_file.exist?.should be_false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe '#output' do
|
33
|
+
it 'return correct output file' do
|
34
|
+
File.stub!(:join).and_return { |*args| args.last }
|
35
|
+
|
36
|
+
@tags_file.send(:output, '/path/to/file.rb').should == '_path_to_file'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/spec/mactag_spec.rb
ADDED
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mactag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Johan Andersson
|
@@ -14,39 +15,60 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-
|
18
|
+
date: 2010-10-13 00:00:00 +02:00
|
18
19
|
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
22
|
+
name: rails
|
23
|
+
prerelease: false
|
22
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
25
|
none: false
|
24
26
|
requirements:
|
25
|
-
- - "
|
27
|
+
- - ">="
|
26
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: -1848230019
|
27
30
|
segments:
|
28
|
-
-
|
29
|
-
-
|
30
|
-
-
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
- 3
|
32
|
+
- 0
|
33
|
+
- 0
|
34
|
+
- beta1
|
35
|
+
version: 3.0.0.beta1
|
36
|
+
type: :runtime
|
34
37
|
version_requirements: *id001
|
35
38
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
39
|
+
name: bundler
|
40
|
+
prerelease: false
|
37
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
42
|
none: false
|
39
43
|
requirements:
|
40
|
-
- - "
|
44
|
+
- - ">="
|
41
45
|
- !ruby/object:Gem::Version
|
46
|
+
hash: 15
|
42
47
|
segments:
|
43
48
|
- 0
|
44
49
|
- 9
|
45
|
-
-
|
46
|
-
version: 0.9.
|
47
|
-
type: :
|
48
|
-
prerelease: false
|
50
|
+
- 26
|
51
|
+
version: 0.9.26
|
52
|
+
type: :runtime
|
49
53
|
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: rspec
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 62196421
|
63
|
+
segments:
|
64
|
+
- 2
|
65
|
+
- 0
|
66
|
+
- 0
|
67
|
+
- beta
|
68
|
+
- 19
|
69
|
+
version: 2.0.0.beta.19
|
70
|
+
type: :development
|
71
|
+
version_requirements: *id003
|
50
72
|
description: Mactag is DSL in ruby for creating a Ctags-file for Rails projects
|
51
73
|
email: johan.rejeep@gmail.com
|
52
74
|
executables: []
|
@@ -65,21 +87,27 @@ files:
|
|
65
87
|
- lib/mactag/config.rb
|
66
88
|
- lib/mactag/ctags.rb
|
67
89
|
- lib/mactag/dsl.rb
|
90
|
+
- lib/mactag/event_handler.rb
|
68
91
|
- lib/mactag/railtie.rb
|
92
|
+
- lib/mactag/server.rb
|
69
93
|
- lib/mactag/tag.rb
|
70
94
|
- lib/mactag/tag/app.rb
|
71
95
|
- lib/mactag/tag/gem.rb
|
72
96
|
- lib/mactag/tag/plugin.rb
|
73
97
|
- lib/mactag/tag/rails.rb
|
98
|
+
- lib/mactag/tags_file.rb
|
74
99
|
- lib/tasks/mactag.rake
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
79
|
-
-
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
100
|
+
- spec/mactag/builder_spec.rb
|
101
|
+
- spec/mactag/config_spec.rb
|
102
|
+
- spec/mactag/ctags_spec.rb
|
103
|
+
- spec/mactag/dsl_spec.rb
|
104
|
+
- spec/mactag/server_spec.rb
|
105
|
+
- spec/mactag/tag/app_spec.rb
|
106
|
+
- spec/mactag/tag/gem_spec.rb
|
107
|
+
- spec/mactag/tag/plugin_spec.rb
|
108
|
+
- spec/mactag/tag/rails_spec.rb
|
109
|
+
- spec/mactag/tags_file_spec.rb
|
110
|
+
- spec/mactag_spec.rb
|
83
111
|
has_rdoc: true
|
84
112
|
homepage: http://github.com/rejeep/mactag
|
85
113
|
licenses: []
|
@@ -94,6 +122,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
94
122
|
requirements:
|
95
123
|
- - ">="
|
96
124
|
- !ruby/object:Gem::Version
|
125
|
+
hash: 3
|
97
126
|
segments:
|
98
127
|
- 0
|
99
128
|
version: "0"
|
@@ -102,6 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
131
|
requirements:
|
103
132
|
- - ">="
|
104
133
|
- !ruby/object:Gem::Version
|
134
|
+
hash: 3
|
105
135
|
segments:
|
106
136
|
- 0
|
107
137
|
version: "0"
|
@@ -113,11 +143,14 @@ signing_key:
|
|
113
143
|
specification_version: 3
|
114
144
|
summary: Ctags for Rails
|
115
145
|
test_files:
|
116
|
-
-
|
117
|
-
-
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
146
|
+
- spec/mactag/builder_spec.rb
|
147
|
+
- spec/mactag/config_spec.rb
|
148
|
+
- spec/mactag/ctags_spec.rb
|
149
|
+
- spec/mactag/dsl_spec.rb
|
150
|
+
- spec/mactag/server_spec.rb
|
151
|
+
- spec/mactag/tag/app_spec.rb
|
152
|
+
- spec/mactag/tag/gem_spec.rb
|
153
|
+
- spec/mactag/tag/plugin_spec.rb
|
154
|
+
- spec/mactag/tag/rails_spec.rb
|
155
|
+
- spec/mactag/tags_file_spec.rb
|
156
|
+
- spec/mactag_spec.rb
|
data/test/mactag/builder_test.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class BuilderTest < ActiveSupport::TestCase
|
4
|
-
setup do
|
5
|
-
@builder = Mactag::Builder.new
|
6
|
-
end
|
7
|
-
|
8
|
-
context '#<<' do
|
9
|
-
setup do
|
10
|
-
@tag = Mactag::Tag::App.new('app')
|
11
|
-
end
|
12
|
-
|
13
|
-
should 'add single tag to tags' do
|
14
|
-
@builder << @tag
|
15
|
-
|
16
|
-
assert_equal 1, @builder.instance_variable_get('@tags').size
|
17
|
-
end
|
18
|
-
|
19
|
-
should 'add multiple tags to tags' do
|
20
|
-
@builder << [@tag, @tag]
|
21
|
-
|
22
|
-
assert_equal 2, @builder.instance_variable_get('@tags').size
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context '#all' do
|
27
|
-
should 'return all tags if existing tags' do
|
28
|
-
app = Mactag::Tag::App.new('app')
|
29
|
-
lib = Mactag::Tag::App.new('lib')
|
30
|
-
|
31
|
-
@builder << app
|
32
|
-
@builder << lib
|
33
|
-
|
34
|
-
assert_same_elements ['app', 'lib'], @builder.all
|
35
|
-
end
|
36
|
-
|
37
|
-
should 'return an empty array if no tags' do
|
38
|
-
assert_same_elements [], @builder.all
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
context '#gems?' do
|
43
|
-
should 'return true if existing tags' do
|
44
|
-
@builder.stubs(:all).returns(['app'])
|
45
|
-
|
46
|
-
assert @builder.gems?
|
47
|
-
end
|
48
|
-
|
49
|
-
should 'return false if no existing tags' do
|
50
|
-
@builder.stubs(:all).returns([])
|
51
|
-
|
52
|
-
assert !@builder.gems?
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
context '#generate' do
|
57
|
-
should 'accept a block as argument' do
|
58
|
-
assert_nothing_raised do
|
59
|
-
Mactag::Builder.generate {}
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
context '#gem_home_exists?' do
|
65
|
-
should 'exist if directory exists in system' do
|
66
|
-
File.stubs(:directory?).returns(true)
|
67
|
-
|
68
|
-
assert Mactag::Builder.gem_home_exists?
|
69
|
-
end
|
70
|
-
|
71
|
-
should 'not exist if directory does not exist in system' do
|
72
|
-
File.stubs(:directory?).returns(false)
|
73
|
-
|
74
|
-
assert !Mactag::Builder.gem_home_exists?
|
75
|
-
end
|
76
|
-
end
|
77
|
-
end
|
data/test/mactag/config_test.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class ConfigTest < ActiveSupport::TestCase
|
4
|
-
context '#binary' do
|
5
|
-
should 'be right command' do
|
6
|
-
assert_equal 'ctags -o TAGS -e', Mactag::Config.binary
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
context '#gem_home' do
|
11
|
-
context 'when using RVM' do
|
12
|
-
setup do
|
13
|
-
Mactag::Config.stubs(:rvm).returns(true)
|
14
|
-
File.stubs(:join).returns('/path/to/rvm/gems')
|
15
|
-
|
16
|
-
@gem_home = Mactag::Config.gem_home
|
17
|
-
end
|
18
|
-
|
19
|
-
should 'be correct' do
|
20
|
-
assert_equal '/path/to/rvm/gems', @gem_home
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
context 'when not using RVM' do
|
25
|
-
setup do
|
26
|
-
Mactag::Config.stubs(:rvm).returns(false)
|
27
|
-
|
28
|
-
@gem_home = Mactag::Config.gem_home
|
29
|
-
end
|
30
|
-
|
31
|
-
should 'correct' do
|
32
|
-
assert_equal '/Library/Ruby/Gems/1.8/gems', @gem_home
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|