From f98545cb413c63006c3ba23e209f5f3f76556bad Mon Sep 17 00:00:00 2001 From: Eliot Jordan Date: Fri, 30 Sep 2022 13:19:53 -0500 Subject: [PATCH] Add an optional config file path parameter --- lib/ruby_tika_app.rb | 4 ++-- spec/fixtures/tika-config.xml | 13 +++++++++++++ spec/ruby_tika_app_spec.rb | 8 ++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 spec/fixtures/tika-config.xml diff --git a/lib/ruby_tika_app.rb b/lib/ruby_tika_app.rb index 2867c5f..8037561 100644 --- a/lib/ruby_tika_app.rb +++ b/lib/ruby_tika_app.rb @@ -18,7 +18,7 @@ def initialize(status) end end - def initialize(document) + def initialize(document, config_path = nil) @document = if (document =~ %r{https?:\/\/[\S]+}) == 0 document else @@ -29,7 +29,7 @@ def initialize(document) java_args = '-server -Djava.awt.headless=true -Dfile.encoding=UTF-8' ext_dir = File.join(File.dirname(__FILE__)) tika_path = "#{ext_dir}/../ext/tika-app-#{TIKA_APP_VERSION}.jar" - tika_config_path = "#{ext_dir}/../ext/tika-config.xml" + tika_config_path = config_path || "#{ext_dir}/../ext/tika-config.xml" @tika_cmd = "#{java_cmd} #{java_args} -jar '#{tika_path}' --config='#{tika_config_path}'" end diff --git a/spec/fixtures/tika-config.xml b/spec/fixtures/tika-config.xml new file mode 100644 index 0000000..6b2990d --- /dev/null +++ b/spec/fixtures/tika-config.xml @@ -0,0 +1,13 @@ + + + + + + + image/jpeg + application/x-sqlite3 + + + + diff --git a/spec/ruby_tika_app_spec.rb b/spec/ruby_tika_app_spec.rb index 7455dae..2e1f786 100644 --- a/spec/ruby_tika_app_spec.rb +++ b/spec/ruby_tika_app_spec.rb @@ -119,4 +119,12 @@ expect(rta.to_text).to eq(RubyTikaApp.new(@news_ycombinator_com_file).to_text) end end + + context 'with an alternate config file path' do + it 'works as expected' do + config_path = File.join(File.dirname(__FILE__), 'fixtures', 'tika-config.xml') + rta = RubyTikaApp.new(@test_file, config_path) + expect(rta.to_xml[0..37]).to eq('') + end + end end