commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2020-10-26 16:13:59 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.3463 (New) Package is "rubygem-mixlib-config" Mon Oct 26 16:13:59 2020 rev:14 rq:838052 version:3.0.9 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2020-03-07 21:38:56.704300772 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.3463/rubygem-mixlib-config.changes 2020-10-26 16:15:15.658879008 +0100 @@ -1,0 +2,6 @@ +Fri Sep 25 14:18:31 UTC 2020 - Stephan Kulow + +updated to version 3.0.9 + no changelog found + +--- Old: mixlib-config-3.0.6.gem New: mixlib-config-3.0.9.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.jjmfta/_old 2020-10-26 16:15:16.670879940 +0100 +++ /var/tmp/diff_new_pack.jjmfta/_new 2020-10-26 16:15:16.674879944 +0100 @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:3.0.6 +Version:3.0.9 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} ++ mixlib-config-3.0.6.gem -> mixlib-config-3.0.9.gem ++ Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config/version.rb new/lib/mixlib/config/version.rb --- old/lib/mixlib/config/version.rb2019-12-29 23:00:19.0 +0100 +++ new/lib/mixlib/config/version.rb2020-08-13 17:50:51.0 +0200 @@ -19,7 +19,7 @@ module Mixlib module Config -VERSION = "3.0.6".freeze +VERSION = "3.0.9".freeze end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config.rb new/lib/mixlib/config.rb --- old/lib/mixlib/config.rb2019-12-29 23:00:19.0 +0100 +++ new/lib/mixlib/config.rb2020-08-13 17:50:51.0 +0200 @@ -69,7 +69,7 @@ # === Parameters # filename:: A filename to read from def from_yaml(filename) - require "yaml" + require "yaml" unless defined?(YAML) from_hash(YAML.load(IO.read(filename))) end @@ -78,12 +78,12 @@ # === Parameters # filename:: A filename to read from def from_json(filename) - require "json" + require "json" unless defined?(JSON) from_hash(JSON.parse(IO.read(filename))) end def from_toml(filename) - require "tomlrb" + require "tomlrb" unless defined?(Tomlrb) from_hash(Tomlrb.parse(IO.read(filename), symbolize_keys: true)) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata2019-12-29 23:00:19.0 +0100 +++ new/metadata2020-08-13 17:50:51.0 +0200 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: mixlib-config version: !ruby/object:Gem::Version - version: 3.0.6 + version: 3.0.9 platform: ruby authors: - Chef Software, Inc. autorequire: bindir: bin cert_chain: [] -date: 2019-12-29 00:00:00.0 Z +date: 2020-08-13 00:00:00.0 Z dependencies: - !ruby/object:Gem::Dependency name: tomlrb
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2020-03-07 21:38:54 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.26092 (New) Package is "rubygem-mixlib-config" Sat Mar 7 21:38:54 2020 rev:13 rq:773790 version:3.0.6 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2019-06-19 21:00:31.698094545 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.26092/rubygem-mixlib-config.changes 2020-03-07 21:38:56.704300772 +0100 @@ -1,0 +2,6 @@ +Mon Feb 10 15:08:57 UTC 2020 - Stephan Kulow + +- updated to version 3.0.6 + no changelog found + +--- Old: mixlib-config-3.0.1.gem New: mixlib-config-3.0.6.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.ZvG5NM/_old 2020-03-07 21:38:57.124301056 +0100 +++ /var/tmp/diff_new_pack.ZvG5NM/_new 2020-03-07 21:38:57.132301062 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-mixlib-config # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:3.0.1 +Version:3.0.6 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} @@ -32,7 +32,7 @@ BuildRequires: %{ruby >= 2.4} BuildRequires: %{rubygem gem2rpm} BuildRequires: ruby-macros >= 5 -Url:https://github.com/chef/mixlib-config +URL:https://github.com/chef/mixlib-config Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1:gem2rpm.yml Summary:A class based configuration library ++ mixlib-config-3.0.1.gem -> mixlib-config-3.0.6.gem ++ Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config/version.rb new/lib/mixlib/config/version.rb --- old/lib/mixlib/config/version.rb2019-04-23 20:43:51.0 +0200 +++ new/lib/mixlib/config/version.rb2019-12-29 23:00:19.0 +0100 @@ -19,7 +19,7 @@ module Mixlib module Config -VERSION = "3.0.1".freeze +VERSION = "3.0.6".freeze end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config.rb new/lib/mixlib/config.rb --- old/lib/mixlib/config.rb2019-04-23 20:43:51.0 +0200 +++ new/lib/mixlib/config.rb2019-12-29 23:00:19.0 +0100 @@ -18,11 +18,11 @@ # limitations under the License. # -require "mixlib/config/version" -require "mixlib/config/configurable" -require "mixlib/config/unknown_config_option_error" -require "mixlib/config/reopened_config_context_with_configurable_error" -require "mixlib/config/reopened_configurable_with_config_context_error" +require_relative "config/version" +require_relative "config/configurable" +require_relative "config/unknown_config_option_error" +require_relative "config/reopened_config_context_with_configurable_error" +require_relative "config/reopened_configurable_with_config_context_error" module Mixlib module Config @@ -33,11 +33,11 @@ class << base; attr_accessor :config_context_lists; end class << base; attr_accessor :config_context_hashes; end class << base; attr_accessor :config_parent; end - base.configuration = Hash.new - base.configurables = Hash.new - base.config_contexts = Hash.new - base.config_context_lists = Hash.new - base.config_context_hashes = Hash.new + base.configuration = ({}) + base.configurables = ({}) + base.config_contexts = ({}) + base.config_context_lists = ({}) + base.config_context_hashes = ({}) base.initialize_mixlib_config end @@ -165,8 +165,8 @@ # Resets all config options to their defaults. def reset - self.configuration = Hash.new - config_contexts.values.each { |config_context| config_context.reset } + self.configuration = ({}) + config_contexts.values.each(&:reset) end # Makes a copy of any non-default values. @@ -372,6 +372,7 @@ if config_contexts.key?(symbol) raise ReopenedConfigContextWithConfigurableError, "Cannot redefine config_context #{symbol} as a configurable value" end + configurables[symbol] = Configurable.new(symbol)
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2019-06-19 21:00:29 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.4811 (New) Package is "rubygem-mixlib-config" Wed Jun 19 21:00:29 2019 rev:12 rq:706007 version:3.0.1 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2019-03-04 09:20:15.352602270 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.4811/rubygem-mixlib-config.changes 2019-06-19 21:00:31.698094545 +0200 @@ -1,0 +2,6 @@ +Sun May 5 09:34:49 UTC 2019 - Stephan Kulow + +- updated to version 3.0.1 + no changelog found + +--- Old: mixlib-config-2.2.18.gem New: mixlib-config-3.0.1.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.XZKfVs/_old 2019-06-19 21:00:32.366095106 +0200 +++ /var/tmp/diff_new_pack.XZKfVs/_new 2019-06-19 21:00:32.370095109 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-mixlib-config # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,12 +24,12 @@ # Name: rubygem-mixlib-config -Version:2.2.18 +Version:3.0.1 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: %{ruby >= 2.2} +BuildRequires: %{ruby >= 2.4} BuildRequires: %{rubygem gem2rpm} BuildRequires: ruby-macros >= 5 Url:https://github.com/chef/mixlib-config ++ mixlib-config-2.2.18.gem -> mixlib-config-3.0.1.gem ++ Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config/version.rb new/lib/mixlib/config/version.rb --- old/lib/mixlib/config/version.rb2018-12-17 21:29:46.0 +0100 +++ new/lib/mixlib/config/version.rb2019-04-23 20:43:51.0 +0200 @@ -19,7 +19,7 @@ module Mixlib module Config -VERSION = "2.2.18".freeze +VERSION = "3.0.1".freeze end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata2018-12-17 21:29:46.0 +0100 +++ new/metadata2019-04-23 20:43:51.0 +0200 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: mixlib-config version: !ruby/object:Gem::Version - version: 2.2.18 + version: 3.0.1 platform: ruby authors: - Chef Software, Inc. autorequire: bindir: bin cert_chain: [] -date: 2018-12-17 00:00:00.0 Z +date: 2019-04-23 00:00:00.0 Z dependencies: - !ruby/object:Gem::Dependency name: tomlrb @@ -50,15 +50,14 @@ requirements: - - ">=" - !ruby/object:Gem::Version - version: '2.2' + version: '2.4' required_rubygems_version: !ruby/object:Gem::Requirement requirements: - - ">=" - !ruby/object:Gem::Version version: '0' requirements: [] -rubyforge_project: -rubygems_version: 2.7.6 +rubygems_version: 3.0.3 signing_key: specification_version: 4 summary: A class based configuration library
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2019-03-04 09:20:10 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.28833 (New) Package is "rubygem-mixlib-config" Mon Mar 4 09:20:10 2019 rev:11 rq:679523 version:2.2.18 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2018-07-18 22:55:00.614747937 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new.28833/rubygem-mixlib-config.changes 2019-03-04 09:20:15.352602270 +0100 @@ -1,0 +2,6 @@ +Wed Dec 19 07:10:28 UTC 2018 - Stephan Kulow + +- updated to version 2.2.18 + no changelog found + +--- Old: mixlib-config-2.2.13.gem New: mixlib-config-2.2.18.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.XEPzTJ/_old 2019-03-04 09:20:16.164602124 +0100 +++ /var/tmp/diff_new_pack.XEPzTJ/_new 2019-03-04 09:20:16.168602123 +0100 @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:2.2.13 +Version:2.2.18 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} @@ -32,7 +32,7 @@ BuildRequires: %{ruby >= 2.2} BuildRequires: %{rubygem gem2rpm} BuildRequires: ruby-macros >= 5 -Url:https://www.chef.io +Url:https://github.com/chef/mixlib-config Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1:gem2rpm.yml Summary:A class based configuration library @@ -48,7 +48,7 @@ %install %gem_install \ - --doc-files="LICENSE README.md" \ + --doc-files="LICENSE" \ -f %gem_packages ++ mixlib-config-2.2.13.gem -> mixlib-config-2.2.18.gem ++ 1994 lines of diff (skipped)
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2018-07-18 22:54:16 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is "rubygem-mixlib-config" Wed Jul 18 22:54:16 2018 rev:10 rq:622574 version:2.2.13 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2018-02-12 10:16:04.343651390 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2018-07-18 22:55:00.614747937 +0200 @@ -1,0 +2,42 @@ +Thu Jul 12 06:14:41 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.13 + no changelog found + +--- +Thu Jul 12 03:14:21 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.13 + no changelog found + +--- +Fri Jul 6 01:06:57 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.12 + no changelog found + +--- +Tue Jul 3 23:05:28 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.11 + no changelog found + +--- +Mon Jul 2 19:06:32 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.10 + no changelog found + +--- +Wed Jun 13 12:07:29 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.8 + no changelog found + +--- +Fri Mar 23 05:30:07 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.6 + no changelog found + +--- Old: mixlib-config-2.2.5.gem New: mixlib-config-2.2.13.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.1H0pXN/_old 2018-07-18 22:55:02.086743056 +0200 +++ /var/tmp/diff_new_pack.1H0pXN/_new 2018-07-18 22:55:02.090743043 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:2.2.5 +Version:2.2.13 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} ++ mixlib-config-2.2.5.gem -> mixlib-config-2.2.13.gem ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2018-02-09 19:25:02.0 +0100 +++ new/README.md 2018-07-11 23:14:00.0 +0200 @@ -43,11 +43,12 @@ MyConfig[:first_value] = 'foobar' # sets first_value to 'foobar' ``` -If you prefer to allow your users to pass in configuration via YAML or JSON files, `mixlib-config` supports that too! +If you prefer to allow your users to pass in configuration via YAML, JSON or TOML files, `mixlib-config` supports that too! ```ruby MyConfig.from_file('~/.myconfig.yml') MyConfig.from_file('~/.myconfig.json') + MyConfig.from_file('~/.myconfig.toml') ``` This way, a user could write a YAML config file that looked like this: @@ -67,6 +68,13 @@ } ``` +or a TOML file that looks like this: + +```toml +first_value = "hi" +second_value = "goodbye" +``` + Please note: There is an inherent limitation in the logic you can do with YAML and JSON file. At this time, `mixlib-config` does not support ERB or other logic in YAML or JSON config (read "static content only"). ## Nested Configuration @@ -240,6 +248,18 @@ print_network_requests false ``` +You can also inspect if the values are still their defaults or not: + +```ruby +MyConfig.is_default?(:verbosity) # == true +MyConfig[:verbosity] = 5 +MyConfig.is_default?(:verbosity) # == false +MyConfig[:verbosity] = 1 +MyConfig.is_default?(:verbosity) # == true +``` + +Trying to call `is_default?` on a config context or a config which does not have a declared default is an error and will raise. + ## Strict Mode Misspellings are a common configuration problem, and Mixlib::Config has an answer: `config_strict_mode`. Setting `config_strict_mode` to `true` will cause any misspelled or incorrect configuration option references to throw `Mixlib::Config::UnknownConfigOptionError`. @@ -294,4 +314,3 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile --- old/Rakefile2018-02-09 19:25:02.0
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2018-02-12 10:16:04 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is "rubygem-mixlib-config" Mon Feb 12 10:16:04 2018 rev:9 rq:575440 version:2.2.5 Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2016-10-10 16:22:35.0 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2018-02-12 10:16:04.343651390 +0100 @@ -1,0 +2,6 @@ +Sat Feb 10 05:30:12 UTC 2018 - factory-a...@kulow.org + +- updated to version 2.2.5 + no changelog found + +--- Old: mixlib-config-2.2.4.gem New: mixlib-config-2.2.5.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.Fm9LRD/_old 2018-02-12 10:16:05.059625590 +0100 +++ /var/tmp/diff_new_pack.Fm9LRD/_new 2018-02-12 10:16:05.063625446 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-mixlib-config # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,16 +24,16 @@ # Name: rubygem-mixlib-config -Version:2.2.4 +Version:2.2.5 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: %{ruby >= 2.2} BuildRequires: %{rubygem gem2rpm} -BuildRequires: %{ruby} BuildRequires: ruby-macros >= 5 -Url:http://www.chef.io -Source: http://rubygems.org/gems/%{mod_full_name}.gem +Url:https://www.chef.io +Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1:gem2rpm.yml Summary:A class based configuration library License:Apache-2.0 ++ mixlib-config-2.2.4.gem -> mixlib-config-2.2.5.gem ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile --- old/Gemfile 2016-09-03 00:20:31.0 +0200 +++ new/Gemfile 2018-02-09 19:25:02.0 +0100 @@ -1,5 +1,3 @@ source "https://rubygems.org; gemspec - -gem "github_changelog_generator", group: :changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2016-09-03 00:20:31.0 +0200 +++ new/README.md 2018-02-09 19:25:02.0 +0100 @@ -43,6 +43,32 @@ MyConfig[:first_value] = 'foobar' # sets first_value to 'foobar' ``` +If you prefer to allow your users to pass in configuration via YAML or JSON files, `mixlib-config` supports that too! + +```ruby + MyConfig.from_file('~/.myconfig.yml') + MyConfig.from_file('~/.myconfig.json') +``` + +This way, a user could write a YAML config file that looked like this: + +```yaml +--- +first_value: 'hi' +second_value: 'goodbye' +``` + +or a JSON file that looks like this: + +```json +{ + "first_value": "hi", + "second_value": "goodbye" +} +``` + +Please note: There is an inherent limitation in the logic you can do with YAML and JSON file. At this time, `mixlib-config` does not support ERB or other logic in YAML or JSON config (read "static content only"). + ## Nested Configuration Often you want to be able to group configuration options to provide a common context. Mixlib::Config supports this thus: @@ -61,14 +87,17 @@ The user can write their config file in one of three formats: - Method Style +### Method Style + ```ruby logging.base_filename 'superlog' logging.max_log_files 2 ``` - Block Style +### Block Style + Using this format the block is executed in the context, so all configurables on that context is directly accessible + ```ruby logging do base_filename 'superlog' @@ -76,8 +105,10 @@ end ``` - Block with Argument Style +### Block with Argument Style + Using this format the context is given to the block as an argument + ```ruby logging do |l| l.base_filename = 'superlog' @@ -92,6 +123,100 @@ MyConfig[:logging][:max_log_files] ``` +### Lists of Contexts +For use cases where you need to be able to specify a list of things with identical configuration +you can define a `context_config_list` like so: + +```ruby + require 'mixlib/config' + + module MyConfig +extend Mixlib::Config + +# The first argument is the plural word for your item, the second is
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2016-10-10 16:22:31 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is "rubygem-mixlib-config" Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2016-09-12 13:26:38.0 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2016-10-10 16:22:35.0 +0200 @@ -1,0 +2,6 @@ +Sat Sep 10 04:33:47 UTC 2016 - co...@suse.com + +- updated to version 2.2.4 + no changelog found + +--- Old: mixlib-config-2.2.2.gem New: mixlib-config-2.2.4.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.sbNhHR/_old 2016-10-10 16:22:37.0 +0200 +++ /var/tmp/diff_new_pack.sbNhHR/_new 2016-10-10 16:22:37.0 +0200 @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:2.2.2 +Version:2.2.4 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} ++ mixlib-config-2.2.2.gem -> mixlib-config-2.2.4.gem ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/NOTICE new/NOTICE --- old/NOTICE 2016-08-22 22:18:42.0 +0200 +++ new/NOTICE 2016-09-03 00:20:31.0 +0200 @@ -1,25 +1,25 @@ -Mixin::Config NOTICE +Mixlib::Config NOTICE = -Developed at Opscode (http://www.opscode.com). +Developed at Chef (http://www.chef.io). - * Copyright 2009, Opscode, Inc.+ * Copyright 2009-2016, Chef Software, Inc. -Mixin::Config incorporates code from Chef. The Chef notice file follows: +Mixlib::Config incorporates code from Chef. The Chef notice file follows: Chef NOTICE === -Developed at Opscode (http://www.opscode.com). +Developed at Chef (http://www.chef.io). Contributors and Copyright holders: - * Copyright 2008, Adam Jacob + * Copyright 2008, Adam Jacob * Copyright 2008, Arjuna Christensen * Copyright 2008, Bryan McLellan * Copyright 2008, Ezra Zygmuntowicz * Copyright 2009, Sean Cribbs - * Copyright 2009, Christopher Brown + * Copyright 2009, Christopher Brown * Copyright 2009, Thom May Chef incorporates code modified from Open4 (http://www.codeforpeople.com/lib/ruby/open4/), which was written by Ara T. Howard. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2016-08-22 22:18:42.0 +0200 +++ new/README.md 2016-09-03 00:20:31.0 +0200 @@ -1,6 +1,8 @@ -# Mixlib::Config # +# Mixlib::Config -Mixlib::Config provides a class-based configuration object, as used in Chef. To use in your project: +[![Build Status](https://travis-ci.org/chef/mixlib-config.svg?branch=master)](https://travis-ci.org/chef/mixlib-config)[![Gem Version](https://badge.fury.io/rb/mixlib-config.svg)](https://badge.fury.io/rb/mixlib-config) + +Mixlib::Config provides a class-based configuration object, as used in Chef. To use in your project: ```ruby require 'mixlib/config' @@ -13,7 +15,7 @@ end ``` -You can use this to provide a configuration file for a user. For example, if you do this: +You can use this to provide a configuration file for a user. For example, if you do this: ```ruby MyConfig.from_file('~/.myconfig.rb') @@ -32,6 +34,7 @@ MyConfig.first_value # returns 'something' MyConfig[:first_value] # returns 'something' ``` + And you can modify configuration values with this syntax: ```ruby @@ -40,9 +43,9 @@ MyConfig[:first_value] = 'foobar' # sets first_value to 'foobar' ``` -## Nested Configuration ## +## Nested Configuration -Often you want to be able to group configuration options to provide a common context. Mixlib::Config supports this thus: +Often you want to be able to group configuration options to provide a common context. Mixlib::Config supports this thus: ```ruby require 'mixlib/config' @@ -56,11 +59,30 @@ end ``` -The user can write their config file like this: +The user can write their config file in one of three formats: + + Method Style +```ruby +logging.base_filename 'superlog' +logging.max_log_files 2 +``` + Block Style +Using this format the block is executed in the context, so all
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2016-09-12 13:26:37 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is "rubygem-mixlib-config" Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2015-05-15 07:44:27.0 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2016-09-12 13:26:38.0 +0200 @@ -1,0 +2,6 @@ +Tue Aug 23 04:34:51 UTC 2016 - co...@suse.com + +- updated to version 2.2.2 + no changelog found + +--- Old: mixlib-config-2.2.1.gem New: mixlib-config-2.2.2.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.0Pv7I3/_old 2016-09-12 13:26:39.0 +0200 +++ /var/tmp/diff_new_pack.0Pv7I3/_new 2016-09-12 13:26:39.0 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-mixlib-config # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-mixlib-config -Version:2.2.1 +Version:2.2.2 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} ++ mixlib-config-2.2.1.gem -> mixlib-config-2.2.2.gem ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile --- old/Gemfile 1970-01-01 01:00:00.0 +0100 +++ new/Gemfile 2016-08-22 22:18:42.0 +0200 @@ -0,0 +1,5 @@ +source "https://rubygems.org; + +gemspec + +gem "github_changelog_generator", group: :changelog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile --- old/Rakefile2015-05-12 23:35:17.0 +0200 +++ new/Rakefile2016-08-22 22:18:42.0 +0200 @@ -1,8 +1,9 @@ -require 'bundler' -require 'rubygems' -require 'rubygems/package_task' -require 'rdoc/task' -require 'rspec/core/rake_task' +require "bundler" +require "rubygems" +require "rubygems/package_task" +require "rdoc/task" +require "rspec/core/rake_task" +require "mixlib/config/version" Bundler::GemHelper.install_tasks @@ -10,14 +11,28 @@ desc "Run specs" RSpec::Core::RakeTask.new(:spec) do |spec| - spec.pattern = 'spec/**/*_spec.rb' + spec.pattern = "spec/**/*_spec.rb" end gem_spec = eval(File.read("mixlib-config.gemspec")) RDoc::Task.new do |rdoc| - rdoc.rdoc_dir = 'rdoc' + rdoc.rdoc_dir = "rdoc" rdoc.title = "mixlib-config #{gem_spec.version}" - rdoc.rdoc_files.include('README*') - rdoc.rdoc_files.include('lib/**/*.rb') + rdoc.rdoc_files.include("README*") + rdoc.rdoc_files.include("lib/**/*.rb") +end + +begin + require "github_changelog_generator/task" + + GitHubChangelogGenerator::RakeTask.new :changelog do |config| +config.issues = false +config.future_release = Mixlib::Config::VERSION +config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",") +config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",") +config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",") + end +rescue LoadError + puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs" end Files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config/version.rb new/lib/mixlib/config/version.rb --- old/lib/mixlib/config/version.rb2015-05-12 23:35:17.0 +0200 +++ new/lib/mixlib/config/version.rb2016-08-22 22:18:42.0 +0200 @@ -19,7 +19,7 @@ module Mixlib module Config -VERSION = "2.2.1" +VERSION = "2.2.2" end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/mixlib/config.rb new/lib/mixlib/config.rb --- old/lib/mixlib/config.rb2015-05-12 23:35:17.0 +0200 +++ new/lib/mixlib/config.rb2016-08-22 22:18:42.0 +0200 @@ -18,11 +18,11 @@ # limitations under the License. # -require 'mixlib/config/version' -require 'mixlib/config/configurable' -require 'mixlib/config/unknown_config_option_error' -require 'mixlib/config/reopened_config_context_with_configurable_error' -require
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2015-05-15 07:44:01 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is rubygem-mixlib-config Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2013-12-12 11:26:31.0 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2015-05-15 07:44:27.0 +0200 @@ -1,0 +2,12 @@ +Wed May 13 04:29:59 UTC 2015 - co...@suse.com + +- updated to version 2.2.1 + no changelog found + +--- +Tue May 12 07:24:26 UTC 2015 - co...@suse.com + +- updated to version 2.2.0 + no changelog found + +--- Old: mixlib-config-2.1.0.gem New: gem2rpm.yml mixlib-config-2.2.1.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.lLrJUN/_old 2015-05-15 07:44:28.0 +0200 +++ /var/tmp/diff_new_pack.lLrJUN/_new 2015-05-15 07:44:28.0 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-mixlib-config # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,67 +16,41 @@ # +# +# This file was generated with a gem2rpm.yml and not just plain gem2rpm. +# All sections marked as MANUAL, license headers, summaries and descriptions +# can be maintained in that file. Please consult this file before editing any +# of those fields +# + Name: rubygem-mixlib-config -Version:2.1.0 +Version:2.2.1 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} - BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: ruby-macros = 1 -Url:http://www.opscode.com +BuildRequires: %{rubygem gem2rpm} +BuildRequires: %{ruby} +BuildRequires: ruby-macros = 5 +Url:http://www.chef.io Source: http://rubygems.org/gems/%{mod_full_name}.gem +Source1:gem2rpm.yml Summary:A class based configuration library License:Apache-2.0 Group: Development/Languages/Ruby %description -A class based configuration library - -%package doc -Summary:RDoc documentation for %{mod_name} -Group: Development/Languages/Ruby -Requires: %{name} = %{version} - -%description doc -Documentation generated at gem installation time. -Usually in RDoc and RI formats. - -%package testsuite -Summary:Test suite for %{mod_name} -Group: Development/Languages/Ruby -Requires: %{name} = %{version} - -%description testsuite -Test::Unit or RSpec files, useful for developers. +A class based configuration library. %prep -#gem_unpack -#if you need patches, apply them here and replace the # with a % sign in the surrounding lines -#gem_build %build %install -%gem_install -f -mkdir -p %{buildroot}%{_docdir}/%{name} -ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/LICENSE %buildroot/%{_docdir}/%{name}/LICENSE -ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md - -%files -%defattr(-,root,root,-) -%{_docdir}/%{name} -%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem -%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/ -%exclude %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec -%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec - -%files doc -%defattr(-,root,root,-) -%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/ - -%files testsuite -%defattr(-,root,root,-) -%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec +%gem_install \ + --doc-files=LICENSE README.md \ + -f + +%gem_packages %changelog ++ gem2rpm.yml ++ # --- # ## used by gem2rpm # :summary: this is a custom summary # ## used by gem2rpm # :description: |- # this is a custom description # # it can be multiline # ## used by gem2rpm # :license: MIT or Ruby # ## used by gem2rpm and gem_packages # :version_suffix: -x_y # ## used by gem2rpm and gem_packages # :disable_docs: true # ## used by gem2rpm # :disable_automatic_rdoc_dep: true # ## used by gem2rpm # :preamble: |- # BuildRequires: foobar # Requires: foobar # ## used by gem2rpm # :patches: # foo.patch: -p1 # bar.patch: # ## used by gem2rpm :sources: # - foo.desktop # - bar.desktop #
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2013-12-12 11:26:30 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is rubygem-mixlib-config Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2013-10-06 14:59:39.0 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2013-12-12 11:26:31.0 +0100 @@ -1,0 +2,5 @@ +Mon Dec 9 11:39:42 UTC 2013 - co...@suse.com + +- updated to version 2.1.0, no changelog + +--- Old: mixlib-config-2.0.0.gem New: mixlib-config-2.1.0.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.B1WQtM/_old 2013-12-12 11:26:31.0 +0100 +++ /var/tmp/diff_new_pack.B1WQtM/_new 2013-12-12 11:26:31.0 +0100 @@ -17,7 +17,7 @@ Name: rubygem-mixlib-config -Version:2.0.0 +Version:2.1.0 Release:0 %define mod_name mixlib-config %define mod_full_name %{mod_name}-%{version} -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org
commit rubygem-mixlib-config for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-mixlib-config for openSUSE:Factory checked in at 2013-10-06 14:59:38 Comparing /work/SRC/openSUSE:Factory/rubygem-mixlib-config (Old) and /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new (New) Package is rubygem-mixlib-config Changes: --- /work/SRC/openSUSE:Factory/rubygem-mixlib-config/rubygem-mixlib-config.changes 2013-04-08 14:55:44.0 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-mixlib-config.new/rubygem-mixlib-config.changes 2013-10-06 14:59:39.0 +0200 @@ -1,0 +2,5 @@ +Fri Oct 4 07:17:59 UTC 2013 - co...@suse.com + +- updated to version 2.0.0, no changelog + +--- Old: mixlib-config-1.1.2.gem New: mixlib-config-2.0.0.gem Other differences: -- ++ rubygem-mixlib-config.spec ++ --- /var/tmp/diff_new_pack.Oe8xml/_old 2013-10-06 14:59:39.0 +0200 +++ /var/tmp/diff_new_pack.Oe8xml/_new 2013-10-06 14:59:39.0 +0200 @@ -1,7 +1,7 @@ # -# spec file for package rubygem-mixlib-config (Version 1.1.0) +# spec file for package rubygem-mixlib-config # -# Copyright (c) 2010 B1 Systems GmbH, Vohburg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,39 +12,71 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# norootforbuild +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + Name: rubygem-mixlib-config -Version:1.1.2 +Version:2.0.0 Release:0 %define mod_name mixlib-config -# -Group: Development/Languages/Ruby -License:Apache-2.0 -# +%define mod_full_name %{mod_name}-%{version} + BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: rubygems_with_buildroot_patch -%rubygems_requires -# +BuildRequires: ruby-macros = 1 Url:http://www.opscode.com -Source: %{mod_name}-%{version}.gem -# -Summary:A class based config mixin, similar to the one found in Chef +Source: http://rubygems.org/gems/%{mod_full_name}.gem +Summary:A class based configuration library +License:Apache-2.0 +Group: Development/Languages/Ruby + %description -A class based config mixin, similar to the one found in Chef. +A class based configuration library + +%package doc +Summary:RDoc documentation for %{mod_name} +Group: Development/Languages/Ruby +Requires: %{name} = %{version} + +%description doc +Documentation generated at gem installation time. +Usually in RDoc and RI formats. + +%package testsuite +Summary:Test suite for %{mod_name} +Group: Development/Languages/Ruby +Requires: %{name} = %{version} + +%description testsuite +Test::Unit or RSpec files, useful for developers. %prep +#gem_unpack +#if you need patches, apply them here and replace the # with a % sign in the surrounding lines +#gem_build + %build -%install -%gem_install %{S:0} -%clean -%{__rm} -rf %{buildroot} +%install +%gem_install -f +mkdir -p %{buildroot}%{_docdir}/%{name} +ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/LICENSE %buildroot/%{_docdir}/%{name}/LICENSE +ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md %files %defattr(-,root,root,-) -%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_name}-%{version}.gem -%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_name}-%{version}/ -%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_name}-%{version}.gemspec -%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_name}-%{version}/ +%{_docdir}/%{name} +%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem +%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/ +%exclude %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec +%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec + +%files doc +%defattr(-,root,root,-) +%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/ + +%files testsuite +%defattr(-,root,root,-) +%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec %changelog -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org