Skip to content

Commit 842352a

Browse files
committed
[DOCS] Updates docs generator
1 parent 2bf6136 commit 842352a

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

rake_tasks/doc_generator.rake

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ namespace :docs do
2929
# Remove existing documents to avoid having outdated files
3030
FileUtils.remove_dir(TARGET_DIR)
3131
Dir.mkdir(TARGET_DIR)
32+
Dir['log/*.log'].each { |f| File.delete(f) }
3233

3334
entries = json_data.select { |d| d['lang'] == 'console' }
3435
start_time = Time.now.to_i
@@ -50,7 +51,7 @@ namespace :docs do
5051
def generate_docs(entry)
5152
require 'elasticsearch'
5253

53-
filename = "#{entry['digest']}.asciidoc"
54+
filename = File.expand_path("#{TARGET_DIR}/#{entry['digest']}.asciidoc")
5455
unless entry['parsed_source'].empty?
5556
api = entry['parsed_source'].first['api']
5657
code = build_client_query(api, entry)
@@ -125,8 +126,8 @@ namespace :docs do
125126
value.is_a?(FalseClass)
126127
end
127128

128-
def write_file(code, file)
129-
File.open("#{TARGET_DIR}/#{file}", 'w') do |f|
129+
def write_file(code, filename)
130+
File.open(filename, 'w') do |f|
130131
f.puts <<~SRC
131132
[source, ruby]
132133
----
@@ -146,11 +147,9 @@ module TestDocs
146147
def self.perform(code, filename)
147148
# Eval the example code, but remove printing out the response
148149
response = eval(code.gsub('puts response', ''))
149-
if response.status == 200
150-
logger = Logger.new('log/200-ok.log')
151-
logger.formatter = -> (_, _, _, msg) { "#{msg} " }
152-
logger.info(filename)
153-
end
150+
log_successful_code(filename) if response.status == 200
151+
rescue Elastic::Transport::Transport::Errors::NotFound => e
152+
log_successful_code(filename)
154153
rescue Elastic::Transport::Transport::Error => e
155154
logger = Logger.new('log/docs-generation-elasticsearch.log')
156155
logger.formatter = @formatter
@@ -164,4 +163,10 @@ module TestDocs
164163
def self.client
165164
@client ||= Elasticsearch::Client.new(trace: false, log: false)
166165
end
166+
167+
def self.log_successful_code(filename)
168+
logger = Logger.new('log/200-ok.log')
169+
logger.formatter = -> (_, _, _, msg) { "#{msg} " }
170+
logger.info(filename)
171+
end
167172
end

0 commit comments

Comments
 (0)