Module: Diggit::DevelopersActivity::ActivityExtractor::Modules

Extended by:
Modules
Included in:
Modules
Defined in:
lib/diggit/developers_activity/activity_extractor/modules.rb

Overview

Methods retrieving the module associated to a file.

Constant Summary collapse

MODULES_REGEXP =
"modules"
FILE_FILTER =
"file-filter"

Instance Method Summary collapse

Instance Method Details

#files_from_cloc_analysisObject



44
45
46
47
48
49
50
51
# File 'lib/diggit/developers_activity/activity_extractor/modules.rb', line 44

def files_from_cloc_analysis
	release_files = Set.new
	cloc_source = @db.db['cloc-file'].find_one({ source: @source })
	cloc_source["cloc"].each do |cloc_file|
		release_files << cloc_file["path"]
	end
	release_files
end

#get_module(path) ⇒ Object



28
29
30
31
32
33
34
35
36
37
# File 'lib/diggit/developers_activity/activity_extractor/modules.rb', line 28

def get_module(path)
	path = Renames.apply(path)

	return nil if ignore_file?(path)
	@modules_regexp.each do |module_regexp|
		return module_regexp.to_s if module_regexp =~ path
	end

	path
end

#get_patch_module(patch) ⇒ Object



39
40
41
42
# File 'lib/diggit/developers_activity/activity_extractor/modules.rb', line 39

def get_patch_module(patch)
	file = patch.delta.old_file[:path]
	get_module(file)
end

#ignore_file?(path) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/diggit/developers_activity/activity_extractor/modules.rb', line 24

def ignore_file?(path)
	!@release_files.include?(path) || (@file_filter =~ path).nil?
end

#read_options(source, source_options, db) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/diggit/developers_activity/activity_extractor/modules.rb', line 15

def read_options(source, source_options, db)
	@source = source
	@db = db
	@release_files = files_from_cloc_analysis
	@modules_regexp = source_options.key?(MODULES_REGEXP) ? source_options[MODULES_REGEXP].map { |m| Regexp.new m } : []
	@file_filter = Regexp.new source_options[FILE_FILTER]
	@file_filter ||= //
end