Class: Guard::CtagsComposer

Inherits:
Guard
  • Object
show all
Defined in:
lib/guard/ctags-composer.rb

Instance Method Summary collapse

Constructor Details

#initialize(watchers = [], options = {}) ⇒ CtagsComposer

Returns a new instance of CtagsComposer.



7
8
9
10
# File 'lib/guard/ctags-composer.rb', line 7

def initialize(watchers = [], options = {})
  super(watchers, options)
  @ctags_generator = ::Guard::Ctags::Composer::CtagsGenerator.new(options)
end

Instance Method Details

#run_on_changes(paths) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/guard/ctags-composer.rb', line 18

def run_on_changes(paths)
  if paths.include?('composer.lock')
    UI.info "regenerating vendor tags..."
    @ctags_generator.generate_vendor_tags
  end

  ruby_files = paths.reject {|f| f == 'composer.lock'}

  if ruby_files.any?
    UI.info "regenerating project tags..."
    @ctags_generator.generate_project_tags
  end
end

#startObject



12
13
14
15
16
# File 'lib/guard/ctags-composer.rb', line 12

def start
  UI.info 'Guard::CtagsComposer is running!'
  @ctags_generator.generate_project_tags
  @ctags_generator.generate_vendor_tags
end