@@ -29,6 +29,7 @@ namespace :docs do
29
29
# Remove existing documents to avoid having outdated files
30
30
FileUtils . remove_dir ( TARGET_DIR )
31
31
Dir . mkdir ( TARGET_DIR )
32
+ Dir [ 'log/*.log' ] . each { |f | File . delete ( f ) }
32
33
33
34
entries = json_data . select { |d | d [ 'lang' ] == 'console' }
34
35
start_time = Time . now . to_i
@@ -50,7 +51,7 @@ namespace :docs do
50
51
def generate_docs ( entry )
51
52
require 'elasticsearch'
52
53
53
- filename = "#{ entry [ 'digest' ] } .asciidoc"
54
+ filename = File . expand_path ( "#{ TARGET_DIR } / #{ entry [ 'digest' ] } .asciidoc" )
54
55
unless entry [ 'parsed_source' ] . empty?
55
56
api = entry [ 'parsed_source' ] . first [ 'api' ]
56
57
code = build_client_query ( api , entry )
@@ -125,8 +126,8 @@ namespace :docs do
125
126
value . is_a? ( FalseClass )
126
127
end
127
128
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 |
130
131
f . puts <<~SRC
131
132
[source, ruby]
132
133
----
@@ -146,11 +147,9 @@ module TestDocs
146
147
def self . perform ( code , filename )
147
148
# Eval the example code, but remove printing out the response
148
149
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 )
154
153
rescue Elastic ::Transport ::Transport ::Error => e
155
154
logger = Logger . new ( 'log/docs-generation-elasticsearch.log' )
156
155
logger . formatter = @formatter
@@ -164,4 +163,10 @@ module TestDocs
164
163
def self . client
165
164
@client ||= Elasticsearch ::Client . new ( trace : false , log : false )
166
165
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
167
172
end
0 commit comments