Module: DatabaseStalker
- Defined in:
- lib/database_stalker.rb,
lib/database_stalker/version.rb,
lib/database_stalker/log_stalker.rb
Defined Under Namespace
Modules: Util
Classes: LogStalker, Parser
Constant Summary
collapse
- DEFAULT_LOG_FILE =
'log/test.log'
- DEFAULT_TABLE_LOG_FILE =
'log/table_names.log'
- DEFAULT_STALKING_LOG_FILE =
'log/stalking_log.log'
- DEFAULT_STALKING_LOG_PER_TEST_FILE =
'log/stalking_log_per_test.log'
- DEFAULT_STALKING_LOG_PER_TEST_TEMPORARY_FILE =
'log/stalking_log_per_test_temporary.log'
- VERSION =
"0.1.4"
Class Method Summary
collapse
Class Method Details
.notify_table_deletion ⇒ Object
80
81
82
83
84
85
86
87
|
# File 'lib/database_stalker.rb', line 80
def notify_table_deletion
File.open(@stalking_log_per_test_temporary, 'a') do |file|
appended_log = @log_stalker.result
appended_log.each do |line|
file.puts("#{line}")
end
end
end
|
.set_up(test_log: DEFAULT_LOG_FILE, table_log: DEFAULT_TABLE_LOG_FILE, stalking_log: DEFAULT_STALKING_LOG_FILE, stalking_log_per_test: DEFAULT_STALKING_LOG_PER_TEST_FILE, stalking_log_per_test_temporary: DEFAULT_STALKING_LOG_PER_TEST_TEMPORARY_FILE) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/database_stalker.rb', line 15
def set_up(
test_log: DEFAULT_LOG_FILE,
table_log: DEFAULT_TABLE_LOG_FILE,
stalking_log: DEFAULT_STALKING_LOG_FILE,
stalking_log_per_test: DEFAULT_STALKING_LOG_PER_TEST_FILE,
stalking_log_per_test_temporary: DEFAULT_STALKING_LOG_PER_TEST_TEMPORARY_FILE)
@test_log = test_log
@table_log = table_log
@stalking_log = stalking_log
@stalking_log_per_test = stalking_log_per_test
@stalking_log_per_test_temporary = stalking_log_per_test_temporary
File.delete(@stalking_log_per_test_temporary) if File.exist?(@stalking_log_per_test_temporary)
FileUtils.touch(@stalking_log_per_test_temporary)
end
|
.stalk ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/database_stalker.rb', line 30
def stalk
fork do
log_stalker = LogStalker.new(@test_log, @stalking_log)
log_stalker.run
watch_test_process
log_stalker.stop
used_log = []
File.open(@stalking_log_per_test_temporary, 'r') do |f|
f.each_line do |line|
used_log << line
end
end
all_log = log_stalker.result
parser = Parser.new(all_log.slice(used_log.size .. all_log.size - 1))
File.open(@table_log, 'w') do |file|
parser.table_names.each do |table_name|
file.write("#{table_name}\n")
end
end
end
wait_for_log_stalker
end
|
.stalk_per_test ⇒ Object
68
69
70
71
|
# File 'lib/database_stalker.rb', line 68
def stalk_per_test
@log_stalker = LogStalker.new(@test_log, @stalking_log_per_test)
@log_stalker.run
end
|
.table_names ⇒ Object
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/database_stalker.rb', line 57
def table_names
return [] if not File.exists?(@table_log)
result = []
File.open(@table_log, 'r') do |f|
f.each_line do |line|
result << line.strip
end
end
result
end
|
.table_names_per_test ⇒ Object
73
74
75
76
77
78
|
# File 'lib/database_stalker.rb', line 73
def table_names_per_test
@log_stalker.stop
appended_log = @log_stalker.result
parser = Parser.new(appended_log)
parser.table_names
end
|