guard-ctags-bundler 0.0.1 → 0.0.2

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.
@@ -1,5 +1,4 @@
1
1
  guard 'ctags-bundler' do
2
- watch(/^(app|lib|spec\/support)\/.*\.rb$/) { ["app", "lib", "spec/support"] }
3
- watch(/^Gemfile.lock$/) { ::Guard::CtagsBundler::BUNDLER }
2
+ watch(%r{^(app|lib|spec/support)/.*\.rb$})
3
+ watch('Gemfile.lock')
4
4
  end
5
-
@@ -1,7 +1,7 @@
1
1
  module Guard
2
2
  module Ctags
3
3
  module Bundler
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
6
6
  end
7
7
  end
@@ -1,12 +1,11 @@
1
1
  require "guard/ctags-bundler/version"
2
2
  require 'guard'
3
3
  require 'guard/guard'
4
- require 'rubygems'
4
+ require 'bundler'
5
+ require 'bundler/runtime'
5
6
 
6
7
  module Guard
7
8
  class CtagsBundler < Guard
8
- BUNDLER = "__bundler__"
9
-
10
9
  def initialize(watchers = [], options = {})
11
10
  super(watchers, options)
12
11
  end
@@ -16,28 +15,27 @@ module Guard
16
15
  end
17
16
 
18
17
  def run_on_change(paths)
19
- if paths == [BUNDLER]
18
+ if paths.include?('Gemfile.lock')
20
19
  UI.info "regenerating bundler tags..."
21
20
  generate_bundler_tags
22
- else
21
+ end
22
+ ruby_files = paths.reject {|f| f == 'Gemfile.lock'}
23
+ if ruby_files.any?
23
24
  UI.info "regenerating project tags..."
24
- generate_project_tags(paths)
25
+ generate_project_tags(ruby_files)
25
26
  end
26
27
  end
27
28
 
28
29
  private
29
30
 
30
31
  def generate_project_tags(paths)
31
- Thread.new do
32
- system("find #{paths.join(' ')} -type f -name \\*.rb | ctags -f tags -L -")
33
- end
32
+ system("ctags -f tags #{paths.join(' ')}")
34
33
  end
35
34
 
36
35
  def generate_bundler_tags
37
- Thread.new do
38
- paths = `ruby -e "require('bundler'); puts(Bundler.load.specs.map(&:full_gem_path).join(' '))"`
39
- system("find #{paths.strip} -type f -name \\*.rb | ctags -f gems.tags -L -")
40
- end
36
+ runtime = Bundler::Runtime.new Dir.pwd, Bundler.definition(true)
37
+ paths = runtime.specs.map(&:full_gem_path).join(' ')
38
+ system("find #{paths.strip} -type f -name \\*.rb | ctags -f gems.tags -L -")
41
39
  end
42
40
  end
43
41
  end
metadata CHANGED
@@ -1,47 +1,36 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: guard-ctags-bundler
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Ivan Tkalin
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-10-02 00:00:00 +04:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: guard
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &16423180 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- - 4
31
- - 0
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
32
21
  version: 0.4.0
33
22
  type: :runtime
34
- version_requirements: *id001
35
- description: "Guard::CtagsBundler uses ctags utility and generates 2 files: tags -- with tags generated from project's source tree and gems.tags -- with tags generated from rubygems from project's bundle."
36
- email:
23
+ prerelease: false
24
+ version_requirements: *16423180
25
+ description: ! 'Guard::CtagsBundler uses ctags utility and generates 2 files: tags
26
+ -- with tags generated from project''s source tree and gems.tags -- with tags generated
27
+ from rubygems from project''s bundle.'
28
+ email:
37
29
  - itkalin@gmail.com
38
30
  executables: []
39
-
40
31
  extensions: []
41
-
42
32
  extra_rdoc_files: []
43
-
44
- files:
33
+ files:
45
34
  - .gitignore
46
35
  - Gemfile
47
36
  - LICENSE
@@ -51,37 +40,29 @@ files:
51
40
  - lib/guard/ctags-bundler.rb
52
41
  - lib/guard/ctags-bundler/templates/Guardfile
53
42
  - lib/guard/ctags-bundler/version.rb
54
- has_rdoc: true
55
43
  homepage: https://github.com/ivalkeen/guard-ctags-bundler
56
44
  licenses: []
57
-
58
45
  post_install_message:
59
46
  rdoc_options: []
60
-
61
- require_paths:
47
+ require_paths:
62
48
  - lib
63
- required_ruby_version: !ruby/object:Gem::Requirement
49
+ required_ruby_version: !ruby/object:Gem::Requirement
64
50
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- segments:
69
- - 0
70
- version: "0"
71
- required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
56
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- segments:
77
- - 0
78
- version: "0"
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
79
61
  requirements: []
80
-
81
62
  rubyforge_project: guard-ctags-bundler
82
- rubygems_version: 1.3.7
63
+ rubygems_version: 1.8.10
83
64
  signing_key:
84
65
  specification_version: 3
85
- summary: Guard gem for generating ctags for project files and gems from project's bundle.
66
+ summary: Guard gem for generating ctags for project files and gems from project's
67
+ bundle.
86
68
  test_files: []
87
-