diff --git a/app/models/concerns/fluentd/setting/plugin_parameter.rb b/app/models/concerns/fluentd/setting/plugin_parameter.rb index 5b85e1a..83ee1d2 100644 --- a/app/models/concerns/fluentd/setting/plugin_parameter.rb +++ b/app/models/concerns/fluentd/setting/plugin_parameter.rb @@ -162,7 +162,11 @@ class Fluentd else type end - Fluent::Config::REFORMAT_VALUE.call(type_name, value.dup) + begin + Fluent::Config::REFORMAT_VALUE.call(type_name, value.dup) + rescue TypeError + Fluent::Config::REFORMAT_VALUE.call(type_name, value) + end end end end diff --git a/config/initializers/dig.rb b/config/initializers/dig.rb new file mode 100644 index 0000000..084f8e8 --- /dev/null +++ b/config/initializers/dig.rb @@ -0,0 +1,8 @@ +unless {}.respond_to?(:dig) + begin + # backport_dig is faster than dig_rb so prefer backport_dig. + require 'backport_dig' + rescue LoadError + require 'dig_rb' + end +end diff --git a/fluentd-ui.gemspec b/fluentd-ui.gemspec index dec9b76..5c5cb74 100644 --- a/fluentd-ui.gemspec +++ b/fluentd-ui.gemspec @@ -35,6 +35,7 @@ Gem::Specification.new do |spec| spec.add_dependency "fluentd", [">= 1.0.0", "< 2"] spec.add_dependency 'rails', '~> 5.2.0' + spec.add_dependency "dig_rb", "~> 1.0.0" spec.add_dependency "bootsnap", ">= 1.1.0" spec.add_dependency 'sucker_punch', "~> 2.0.4" spec.add_dependency 'addressable' diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a077ff5..f1dfb09 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -24,6 +24,7 @@ Capybara.javascript_driver = :selenium require 'capybara-screenshot/rspec' require "fluent/load" +require "fluent/plugin/buf_file" # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories.