From beae9f7a7563ef7f1ebc271b2472aa43f6b809c1 Mon Sep 17 00:00:00 2001 From: Takuro Ashie Date: Thu, 8 Jul 2021 12:08:57 +0900 Subject: [PATCH] OjOptions: Remove needless instantiation Signed-off-by: Takuro Ashie --- lib/fluent/env.rb | 2 +- lib/fluent/oj_options.rb | 12 +++++------- test/test_oj_options.rb | 9 ++++----- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/lib/fluent/env.rb b/lib/fluent/env.rb index 40287709c4..8405ac8bfc 100644 --- a/lib/fluent/env.rb +++ b/lib/fluent/env.rb @@ -22,7 +22,7 @@ module Fluent DEFAULT_PLUGIN_DIR = ENV['FLUENT_PLUGIN'] || '/etc/fluent/plugin' DEFAULT_SOCKET_PATH = ENV['FLUENT_SOCKET'] || '/var/run/fluent/fluent.sock' DEFAULT_BACKUP_DIR = ENV['FLUENT_BACKUP_DIR'] || '/tmp/fluent' - DEFAULT_OJ_OPTIONS = Fluent::OjOptions.new.get_options + DEFAULT_OJ_OPTIONS = Fluent::OjOptions.get_options DEFAULT_DIR_PERMISSION = 0755 DEFAULT_FILE_PERMISSION = 0644 diff --git a/lib/fluent/oj_options.rb b/lib/fluent/oj_options.rb index d2d890e9d7..4e17321720 100644 --- a/lib/fluent/oj_options.rb +++ b/lib/fluent/oj_options.rb @@ -20,12 +20,10 @@ class OjOptions 'use_to_json': true } - def initialize - @options = {} - DEFAULTS.each { |key, value| @options[key] = value } - end + def self.get_options + options = {} + DEFAULTS.each { |key, value| options[key] = value } - def get_options OPTIONS.each do |key, type| env_value = ENV["FLUENT_OJ_OPTION_#{key.upcase}"] next if env_value.nil? @@ -35,10 +33,10 @@ def get_options next if ALLOWED_VALUES[key] && !ALLOWED_VALUES[key].include?(cast_value) - @options[key.to_sym] = cast_value + options[key.to_sym] = cast_value end - @options + options end end end diff --git a/test/test_oj_options.rb b/test/test_oj_options.rb index 6cf045b1f5..64b9a57c5b 100644 --- a/test/test_oj_options.rb +++ b/test/test_oj_options.rb @@ -4,7 +4,6 @@ class OjOptionsTest < ::Test::Unit::TestCase setup do - @oj = Fluent::OjOptions.new @orig_env = {} ENV.each do |key, value| @orig_env[key] = value if key.start_with?("FLUENT_OJ_OPTION_") @@ -19,22 +18,22 @@ class OjOptionsTest < ::Test::Unit::TestCase sub_test_case "OjOptions" do test "when no env vars set, returns default options" do ENV.delete_if { |key| key.start_with?("FLUENT_OJ_OPTION_") } - assert_equal Fluent::OjOptions::DEFAULTS, @oj.get_options + assert_equal Fluent::OjOptions::DEFAULTS, Fluent::OjOptions.get_options end test "valid env var passed with valid value, default is overridden" do ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":bigdecimal" - assert_equal :bigdecimal, @oj.get_options[:bigdecimal_load] + assert_equal :bigdecimal, Fluent::OjOptions.get_options[:bigdecimal_load] end test "valid env var passed with invalid value, default is not overriden" do ENV["FLUENT_OJ_OPTION_BIGDECIMAL_LOAD"] = ":conor" - assert_equal :float, @oj.get_options[:bigdecimal_load] + assert_equal :float, Fluent::OjOptions.get_options[:bigdecimal_load] end test "invalid env var passed, nothing done with it" do ENV["FLUENT_OJ_OPTION_CONOR"] = ":conor" - assert_equal nil, @oj.get_options[:conor] + assert_equal nil, Fluent::OjOptions.get_options[:conor] end end end