Class: Coypond::CoypondRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/coypond.rb

Instance Method Summary collapse

Constructor Details

#initialize(files) ⇒ CoypondRunner

Returns a new instance of CoypondRunner.



7
8
9
# File 'lib/coypond.rb', line 7

def initialize(files)
  @files = files
end

Instance Method Details

#search(options) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/coypond.rb', line 11

def search(options)
  final_result = {}
  each_file do |file_name, source, parser|
    final_result[file_name] = []
    classes = modules = methods = {}
    classes = search_in_collection(parser.classes, options) if options[:class] || options[:all]
    modules = search_in_collection(parser.modules, options) if options[:module] || options[:all]
    methods = search_in_collection(parser.methods, options) if options[:method] || options[:all]
    result = classes.merge(modules.merge(methods))
    result.each do |dec, location|
      context = source.lines.to_a[location.first - 1]
      final_result[file_name] << [dec, location, context]
    end
    
    yield(file_name, final_result[file_name]) if block_given?
    
  end
  return final_result
end