23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/fluoride-analyzer/tasklib.rb', line 23
def define
in_namespace do
directory request_specs.abspath
desc "Delete and rebuild request specs based on Fluoride collections"
task :rebuild_request_specs => [:clobber_request_specs, :template_request_specs]
task :clobber_request_specs do
sh("rm -rf #{request_specs.abspath}/*")
end
file results.abspath => [:environment] + recordings_list do |task|
parser = Fluoride::Analyzer::Parser.new
recordings_list.find_all do |prereq|
next unless File.file?(prereq) && __FILE__ != prereq
parser.parse_stream(File.read(prereq))
end
parser.limit = limit
File.open(results.abspath, "w") do |target_file|
target_file.write(YAML.dump(parser.formatted_results))
end
puts "Found #{parser.formatted_results.keys.length} unique requests"
end
desc "Produce request specs that reproduce Fluoride collections"
task :template_request_specs => [request_specs.abspath, results.abspath] do
templater = Fluoride::Analyzer::RequestTemplater.new
templater.template_string = File::read(File::expand_path(
"../../../default_config/templates/request_spec.erb", __FILE__))
templater.results = YAML.load(File.read(results.abspath))
templater.go do |filename, contents|
path = File.join(request_specs.abspath, filename)
File.open(path, "w") do |spec_file|
spec_file.write(contents)
end
end
end
end
end
|