diff --git a/lib/jekyll/algolia/logger.rb b/lib/jekyll/algolia/logger.rb index 3c8f3c6..145896c 100644 --- a/lib/jekyll/algolia/logger.rb +++ b/lib/jekyll/algolia/logger.rb @@ -79,7 +79,7 @@ module Jekyll # Convert all variables content = File.open(file).read metadata.each do |key, value| - content = content.gsub("{#{key}}", value) + content = content.gsub("{#{key}}", value.to_s) end # Display each line differently diff --git a/spec/jekyll/algolia/logger_spec.rb b/spec/jekyll/algolia/logger_spec.rb index f5ee4a7..44a162f 100644 --- a/spec/jekyll/algolia/logger_spec.rb +++ b/spec/jekyll/algolia/logger_spec.rb @@ -27,6 +27,24 @@ describe(Jekyll::Algolia::Logger) do expect(current).to have_received(:log).with('I: Info line my_index') expect(current).to have_received(:log).with('W: Warning line') end + + context 'with non-string metadata' do + describe do + let(:metadata) { { 'index_name' => false } } + it do + expect(current).to have_received(:log).with('I: Info line false') + end + end + + describe do + let(:metadata) { { 'index_name' => %w[foo bar] } } + it do + expect(current) + .to have_received(:log) + .with('I: Info line ["foo", "bar"]') + end + end + end end describe '.log' do