@@ -7,17 +7,17 @@ module HookExec
77 def convert_arg_to_h_entry ( arg )
88 case arg . class
99 when Jekyll ::Site . class
10- [ "site" , arg ]
10+ { "site" => arg . to_liquid [ "site" ] }
1111 when Hash . class
12- [ "payload" , arg ]
12+ { "payload" => arg }
1313 when Jekyll ::Page . class
14- [ "page" , arg ]
14+ arg . to_liquid
1515 when Jekyll ::Document . class
16- [ "document" , arg ]
16+ arg . to_liquid
1717 when Array . class
18- [ "files" , arg ]
18+ { "files" => arg }
1919 else
20- logger . warn { "Unknown argument type #{ arg . class } for #{ owner } .#{ event } hook" }
20+ Jekyll . logger . warn ( "Hook Exec" ) { "Unknown argument type #{ arg . class } for #{ owner } .#{ event } hook" }
2121 end
2222 end
2323 module_function :convert_arg_to_h_entry
@@ -31,26 +31,27 @@ def convert_arg_to_h_entry(arg)
3131 env = hook [ "env" ] ||= { }
3232 env . transform_values! { |v | Liquid ::Template . parse ( v ) }
3333 priority = hook [ "priority" ] ||= Jekyll ::Hooks ::DEFAULT_PRIORITY
34- logger = PluginMetaLogger . instance . new_logger ( "HookExec: #{ owner } .#{ event } .#{ name } " , PluginMetaLogger . instance . config )
34+ logger = PluginMetaLogger . instance . new_logger ( HookExec , PluginMetaLogger . instance . config )
35+ log_prefix = "#{ owner } .#{ event } .#{ name } "
3536
3637 Jekyll ::Hooks . register ( owner . to_sym , event . to_sym , priority : priority ) do |*args |
37- arg_hash = args . collect ( &HookExec . method ( :convert_arg_to_h_entry ) ) . to_h
38+ arg_hash = args . collect ( &HookExec . method ( :convert_arg_to_h_entry ) ) . reduce ( { } , :merge )
3839 processed_env = env . transform_values { |v | v . render ( arg_hash ) }
3940 processed_cmd = cmd . render ( arg_hash )
4041
4142 time = Benchmark ::realtime do
4243 stdout , stderr , status = Open3 . capture3 ( processed_env , processed_cmd )
43- logger . debug { "stdout:\n #{ stdout } " }
44+ logger . debug { "#{ log_prefix } stdout:\n #{ stdout } " }
4445 unless status . success?
45- logger . error { "stderr: #{ stderr } " }
46+ logger . error { "#{ log_prefix } stderr: #{ stderr } " }
4647 raise "failed with status #{ status . exitstatus } "
4748 end
4849 end
4950
5051 if time < 1.0
51- logger . debug { "took #{ ( time * 1000 ) . round ( 2 ) } ms" }
52+ logger . debug { "#{ log_prefix } took #{ ( time * 1000 ) . round ( 2 ) } ms" }
5253 else
53- logger . debug { "took #{ time . round ( 2 ) } s" }
54+ logger . debug { "#{ log_prefix } took #{ time . round ( 2 ) } s" }
5455 end
5556 end
5657 Jekyll . logger . info ( "HookExec" ) { "Registered #{ owner } .#{ event } .#{ name } hook" }
0 commit comments