From 66eb08d1dc4341a7fd5e91995764ef1ef2f4ea4e Mon Sep 17 00:00:00 2001 From: Rustam Ibragimov Date: Thu, 20 Feb 2020 21:42:46 +0300 Subject: [PATCH 1/4] [sub-config] first step --- lib/qonfig/data_set.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/qonfig/data_set.rb b/lib/qonfig/data_set.rb index f0e40172..8462feb7 100644 --- a/lib/qonfig/data_set.rb +++ b/lib/qonfig/data_set.rb @@ -82,6 +82,17 @@ def frozen? thread_safe_access { settings.__is_frozen__ } end + # @param keys [Array] + # @return [Qonfig::DataSet] + # + # @api public + # @since 0.1.0 + def sub_config(*keys) + thread_safe_access do + # TODO: realize + end + end + # @param settings_map [Hash] # @param configurations [Proc] # @return [void] From e8cf135526c9efeb062b539b335c1ec9c0e1b289 Mon Sep 17 00:00:00 2001 From: Rustam Ibragimov Date: Sun, 8 Mar 2020 23:16:08 +0300 Subject: [PATCH 2/4] [gem] new rubocop version --- qonfig.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qonfig.gemspec b/qonfig.gemspec index ba690c3a..23858295 100644 --- a/qonfig.gemspec +++ b/qonfig.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov', '~> 0.18' spec.add_development_dependency 'rspec', '~> 3.9' - spec.add_development_dependency 'armitage-rubocop', '~> 0.79' + spec.add_development_dependency 'armitage-rubocop', '~> 0.80' spec.add_development_dependency 'bundler' spec.add_development_dependency 'rake', '>= 13' From 608a6e46932f6c99260e0bb6d149c2b6ab9f5aff Mon Sep 17 00:00:00 2001 From: Rustam Ibragimov Date: Sun, 8 Mar 2020 23:17:22 +0300 Subject: [PATCH 3/4] [gem] useless cops (dropped from the last rubocop release) --- spec/features/plugins/toml/save_to_toml_spec.rb | 2 -- spec/features/save_to_file/save_to_json_spec.rb | 2 -- spec/features/save_to_file/save_to_yaml_spec.rb | 2 -- 3 files changed, 6 deletions(-) diff --git a/spec/features/plugins/toml/save_to_toml_spec.rb b/spec/features/plugins/toml/save_to_toml_spec.rb index 1d9107c2..9f886279 100644 --- a/spec/features/plugins/toml/save_to_toml_spec.rb +++ b/spec/features/plugins/toml/save_to_toml_spec.rb @@ -79,7 +79,6 @@ context 'config with supported toml types' do let(:config) do - # rubocop:disable Style/BracesAroundHashParameters Class.new(Qonfig::DataSet) do setting :true_boolean, true setting :false_boolean, false @@ -90,7 +89,6 @@ setting :collection, [%w[1 2], [3, 4], [true, false], []] setting :time, Time.utc(2031, 0o5, 27, 0o7, 32, 0) end.new - # rubocop:enable Style/BracesAroundHashParameters end specify 'correctly represents YAML data types' do diff --git a/spec/features/save_to_file/save_to_json_spec.rb b/spec/features/save_to_file/save_to_json_spec.rb index 545665dd..f3679403 100644 --- a/spec/features/save_to_file/save_to_json_spec.rb +++ b/spec/features/save_to_file/save_to_json_spec.rb @@ -90,7 +90,6 @@ let(:config_file_name) { "#{SecureRandom.uuid}.json" } let(:config_file_path) { SpecSupport.artifact_path(config_file_name) } let(:config_klass) do - # rubocop:disable Style/BracesAroundHashParameters Class.new(Qonfig::DataSet) do setting :true_bollean, true setting :false_boolean, false @@ -99,7 +98,6 @@ setting :null_data, nil setting :collection, ['1', 2, true, false, nil, [], {}] end - # rubocop:enable Style/BracesAroundHashParameters end let(:config) { config_klass.new } diff --git a/spec/features/save_to_file/save_to_yaml_spec.rb b/spec/features/save_to_file/save_to_yaml_spec.rb index 406908f4..ef31ac2c 100644 --- a/spec/features/save_to_file/save_to_yaml_spec.rb +++ b/spec/features/save_to_file/save_to_yaml_spec.rb @@ -111,7 +111,6 @@ let(:config_file_name) { "#{SecureRandom.uuid}.yml" } let(:config_file_path) { SpecSupport.artifact_path(config_file_name) } let(:config_klass) do - # rubocop:disable Style/BracesAroundHashParameters Class.new(Qonfig::DataSet) do setting :true_bollean, true setting :false_boolean, false @@ -120,7 +119,6 @@ setting :null_data, nil setting :collection, ['1', 2, true, false, nil, [], {}] end - # rubocop:enable Style/BracesAroundHashParameters end let(:config) { config_klass.new } From 2e2887c2fc09738b5af775525ee72443059d4e4f Mon Sep 17 00:00:00 2001 From: Rustam Ibragimov Date: Sun, 8 Mar 2020 23:20:39 +0300 Subject: [PATCH 4/4] [sub-config] additional attributes --- lib/qonfig/data_set.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/qonfig/data_set.rb b/lib/qonfig/data_set.rb index 8462feb7..8bdbec9e 100644 --- a/lib/qonfig/data_set.rb +++ b/lib/qonfig/data_set.rb @@ -83,11 +83,13 @@ def frozen? end # @param keys [Array] + # @option sttings [Hash] + # @param configurations [Block] # @return [Qonfig::DataSet] # # @api public # @since 0.1.0 - def sub_config(*keys) + def sub_config(*keys, settings: {}, &configurations) thread_safe_access do # TODO: realize end