mixlib-config 2.2.1 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 296050d1a5c2f3ff92d2f1d7dcfc115c0ab52f66
4
- data.tar.gz: cafb4a53a1abd9c29d4c0cd07c225495888e3263
3
+ metadata.gz: 9a3b6ad6191a68a770d664217782576fa3f99174
4
+ data.tar.gz: 37892ffb3b86d0331353473ef9a018411fd87844
5
5
  SHA512:
6
- metadata.gz: 9428d5a806a0f13db201e7b7b948f57dae0169ee84b0ab496cdec060ab502afe4ef0a73bd3a41f4069d182e3d2120a81a5586b3f798e616f15fe679416cd73f1
7
- data.tar.gz: 68cac05d6a99ca9bad0f5be9d95c4931db9958ff35b25e0836b26ff0a5bf49917339e14c5f5ef6ea44ddb4d3ba2e35fb46d11a2efe4e4a1fb95689904578c8dc
6
+ metadata.gz: 4a5dbeb190acc013e73d094a75495b066f3c53ea8b9f7bc66808dfc0e1ba6dba52cc7955a8e66f2aedd1fe445f5b8136f2a2a27b7f367c819da52979f6f75028
7
+ data.tar.gz: e88d63510083684bea77e3c7e3ea9f09c4aad9b84a7282efd0304c334980a6fd1b2d626de2650736df25272d3e2f9e5a32d0af646d3c08b202320866398f2361
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem "github_changelog_generator", group: :changelog
data/Rakefile CHANGED
@@ -1,8 +1,9 @@
1
- require 'bundler'
2
- require 'rubygems'
3
- require 'rubygems/package_task'
4
- require 'rdoc/task'
5
- require 'rspec/core/rake_task'
1
+ require "bundler"
2
+ require "rubygems"
3
+ require "rubygems/package_task"
4
+ require "rdoc/task"
5
+ require "rspec/core/rake_task"
6
+ require "mixlib/config/version"
6
7
 
7
8
  Bundler::GemHelper.install_tasks
8
9
 
@@ -10,14 +11,28 @@ task :default => :spec
10
11
 
11
12
  desc "Run specs"
12
13
  RSpec::Core::RakeTask.new(:spec) do |spec|
13
- spec.pattern = 'spec/**/*_spec.rb'
14
+ spec.pattern = "spec/**/*_spec.rb"
14
15
  end
15
16
 
16
17
  gem_spec = eval(File.read("mixlib-config.gemspec"))
17
18
 
18
19
  RDoc::Task.new do |rdoc|
19
- rdoc.rdoc_dir = 'rdoc'
20
+ rdoc.rdoc_dir = "rdoc"
20
21
  rdoc.title = "mixlib-config #{gem_spec.version}"
21
- rdoc.rdoc_files.include('README*')
22
- rdoc.rdoc_files.include('lib/**/*.rb')
22
+ rdoc.rdoc_files.include("README*")
23
+ rdoc.rdoc_files.include("lib/**/*.rb")
24
+ end
25
+
26
+ begin
27
+ require "github_changelog_generator/task"
28
+
29
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
30
+ config.issues = false
31
+ config.future_release = Mixlib::Config::VERSION
32
+ config.enhancement_labels = "enhancement,Enhancement,New Feature,Feature".split(",")
33
+ config.bug_labels = "bug,Bug,Improvement,Upstream Bug".split(",")
34
+ config.exclude_labels = "duplicate,question,invalid,wontfix,no_changelog,Exclude From Changelog,Question,Discussion".split(",")
35
+ end
36
+ rescue LoadError
37
+ puts "github_changelog_generator is not available. gem install github_changelog_generator to generate changelogs"
23
38
  end
@@ -18,11 +18,11 @@
18
18
  # limitations under the License.
19
19
  #
20
20
 
21
- require 'mixlib/config/version'
22
- require 'mixlib/config/configurable'
23
- require 'mixlib/config/unknown_config_option_error'
24
- require 'mixlib/config/reopened_config_context_with_configurable_error'
25
- require 'mixlib/config/reopened_configurable_with_config_context_error'
21
+ require "mixlib/config/version"
22
+ require "mixlib/config/configurable"
23
+ require "mixlib/config/unknown_config_option_error"
24
+ require "mixlib/config/reopened_config_context_with_configurable_error"
25
+ require "mixlib/config/reopened_configurable_with_config_context_error"
26
26
 
27
27
  module Mixlib
28
28
  module Config
@@ -34,6 +34,11 @@ module Mixlib
34
34
  base.configuration = Hash.new
35
35
  base.configurables = Hash.new
36
36
  base.config_contexts = Hash.new
37
+ base.initialize_mixlib_config
38
+ end
39
+
40
+ def initialize_mixlib_config
41
+ @config_strict_mode = nil
37
42
  end
38
43
 
39
44
  # Loads a given ruby file, and runs instance_eval against it in the context of the current
@@ -52,7 +57,7 @@ module Mixlib
52
57
  # === Parameters
53
58
  # block<Block>:: A block that is called with self.configuration as the argument.
54
59
  def configure(&block)
55
- block.call(self.configuration)
60
+ yield(self.configuration)
56
61
  end
57
62
 
58
63
  # Get the value of a config option
@@ -280,7 +285,7 @@ module Mixlib
280
285
  define_attr_accessor_methods(symbol)
281
286
  end
282
287
  if block
283
- block.call(configurables[symbol])
288
+ yield(configurables[symbol])
284
289
  end
285
290
  configurables[symbol]
286
291
  end
@@ -403,7 +408,7 @@ module Mixlib
403
408
  # symbol<Symbol>:: Name of the method (variable setter)
404
409
  # value<Object>:: Value to be set in config hash
405
410
  #
406
- def internal_set(symbol,value)
411
+ def internal_set(symbol, value)
407
412
  if configurables.has_key?(symbol)
408
413
  configurables[symbol].set(self.configuration, value)
409
414
  elsif config_contexts.has_key?(symbol)
@@ -433,7 +438,7 @@ module Mixlib
433
438
  end
434
439
  end
435
440
 
436
- def internal_get_or_set(symbol,*args)
441
+ def internal_get_or_set(symbol, *args)
437
442
  num_args = args.length
438
443
  # Setting
439
444
  if num_args > 0
@@ -448,7 +453,7 @@ module Mixlib
448
453
  # When Ruby 1.8.7 is no longer supported, this stuff can be done with define_singleton_method!
449
454
  meta = class << self; self; end
450
455
  # Setter
451
- meta.send :define_method, "#{symbol.to_s}=".to_sym do |value|
456
+ meta.send :define_method, "#{symbol}=".to_sym do |value|
452
457
  internal_set(symbol, value)
453
458
  end
454
459
  # Getter
@@ -19,7 +19,7 @@
19
19
  module Mixlib
20
20
  module Config
21
21
 
22
- VERSION = "2.2.1"
22
+ VERSION = "2.2.2"
23
23
 
24
24
  end
25
25
  end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ $:.unshift(File.dirname(__FILE__) + "/lib")
4
+ require "mixlib/config/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "mixlib-config"
8
+ s.version = Mixlib::Config::VERSION
9
+
10
+ s.authors = ["Chef Software, Inc."]
11
+ s.email = "legal@chef.io"
12
+ s.extra_rdoc_files = [
13
+ "LICENSE",
14
+ "README.md",
15
+ ]
16
+ s.files = [ "LICENSE", "NOTICE", "README.md", "Gemfile", "Rakefile" ] + Dir.glob("*.gemspec") +
17
+ Dir.glob("{lib,spec}/**/*", File::FNM_DOTMATCH).reject { |f| File.directory?(f) }
18
+ s.homepage = "http://www.chef.io"
19
+ s.require_paths = ["lib"]
20
+ s.rubygems_version = "1.8.23"
21
+ s.summary = "A class based configuration library"
22
+ s.description = s.summary
23
+ s.license = "Apache-2.0"
24
+
25
+ s.add_development_dependency "rake"
26
+ s.add_development_dependency "rspec", "~> 2.99"
27
+ s.add_development_dependency "rdoc"
28
+ end
@@ -18,15 +18,10 @@
18
18
 
19
19
  require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
20
20
 
21
- class ConfigIt
22
- extend ::Mixlib::Config
23
- end
24
-
25
-
26
21
  describe Mixlib::Config do
27
22
  before(:each) do
28
23
  ConfigIt.configure do |c|
29
- c[:alpha] = 'omega'
24
+ c[:alpha] = "omega"
30
25
  c[:foo] = nil
31
26
  end
32
27
  end
@@ -34,9 +29,9 @@ describe Mixlib::Config do
34
29
  it "should load a config file" do
35
30
  File.stub(:exists?).and_return(true)
36
31
  File.stub(:readable?).and_return(true)
37
- IO.stub(:read).with('config.rb').and_return("alpha = 'omega'\nfoo = 'bar'")
32
+ IO.stub(:read).with("config.rb").and_return("alpha = 'omega'\nfoo = 'bar'")
38
33
  lambda {
39
- ConfigIt.from_file('config.rb')
34
+ ConfigIt.from_file("config.rb")
40
35
  }.should_not raise_error
41
36
  end
42
37
 
@@ -53,18 +48,18 @@ describe Mixlib::Config do
53
48
  end
54
49
 
55
50
  it "should allow the error to bubble up when it's anything other than IOError" do
56
- IO.stub(:read).with('config.rb').and_return("@#asdf")
51
+ IO.stub(:read).with("config.rb").and_return("@#asdf")
57
52
  lambda {
58
- ConfigIt.from_file('config.rb')
53
+ ConfigIt.from_file("config.rb")
59
54
  }.should raise_error(SyntaxError)
60
55
  end
61
56
 
62
57
  it "should allow you to reference a value by index" do
63
- ConfigIt[:alpha].should == 'omega'
58
+ ConfigIt[:alpha].should == "omega"
64
59
  end
65
60
 
66
61
  it "should allow you to reference a value by string index" do
67
- ConfigIt['alpha'].should == 'omega'
62
+ ConfigIt["alpha"].should == "omega"
68
63
  end
69
64
 
70
65
  it "should allow you to set a value by index" do
@@ -73,7 +68,7 @@ describe Mixlib::Config do
73
68
  end
74
69
 
75
70
  it "should allow you to set a value by string index" do
76
- ConfigIt['alpha'] = "one"
71
+ ConfigIt["alpha"] = "one"
77
72
  ConfigIt[:alpha].should == "one"
78
73
  end
79
74
 
@@ -127,7 +122,7 @@ describe Mixlib::Config do
127
122
  ConfigIt.configure { |c| c[:cookbook_path] = "monkey_rabbit"; c[:otherthing] = "boo" }
128
123
  end
129
124
 
130
- {:cookbook_path => "monkey_rabbit", :otherthing => "boo"}.each do |k,v|
125
+ { :cookbook_path => "monkey_rabbit", :otherthing => "boo" }.each do |k, v|
131
126
  it "should allow you to retrieve the config value for #{k} via []" do
132
127
  ConfigIt[k].should == v
133
128
  end
@@ -174,8 +169,8 @@ describe Mixlib::Config do
174
169
  end
175
170
 
176
171
  it "should multiply an integer by 1000 via from-file, too" do
177
- IO.stub(:read).with('config.rb').and_return("test_method 99")
178
- @klass.from_file('config.rb')
172
+ IO.stub(:read).with("config.rb").and_return("test_method 99")
173
+ @klass.from_file("config.rb")
179
174
  @klass.test_method.should == 99000
180
175
  end
181
176
 
@@ -226,18 +221,23 @@ describe Mixlib::Config do
226
221
  end
227
222
  end
228
223
 
229
- it 'Normal classes call the extra method' do
224
+ after do
225
+ Object.send :remove_method, :daemonizeme
226
+ Object.send :remove_method, :'daemonizeme='
227
+ end
228
+
229
+ it "Normal classes call the extra method" do
230
230
  normal_class = Class.new
231
231
  normal_class.extend(::Mixlib::Config)
232
232
  lambda { normal_class.daemonizeme }.should raise_error(NopeError)
233
233
  end
234
234
 
235
- it 'Configurables with the same name as the extra method can be set' do
235
+ it "Configurables with the same name as the extra method can be set" do
236
236
  @klass.daemonizeme = 10
237
237
  @klass[:daemonizeme].should == 10
238
238
  end
239
239
 
240
- it 'Configurables with the same name as the extra method can be retrieved' do
240
+ it "Configurables with the same name as the extra method can be retrieved" do
241
241
  @klass[:daemonizeme] = 10
242
242
  @klass.daemonizeme.should == 10
243
243
  end
@@ -309,7 +309,7 @@ describe Mixlib::Config do
309
309
  @klass.extend(::Mixlib::Config)
310
310
  @klass.class_eval do
311
311
  default :x, 4
312
- default(:attr) { x*2 }
312
+ default(:attr) { x * 2 }
313
313
  end
314
314
  end
315
315
 
@@ -379,8 +379,8 @@ describe Mixlib::Config do
379
379
  end
380
380
 
381
381
  it "reset clears it to its default" do
382
- @klass.attr << 'x'
383
- @klass.attr.should == [ 'x' ]
382
+ @klass.attr << "x"
383
+ @klass.attr.should == [ "x" ]
384
384
  @klass.reset
385
385
  @klass.attr.should == []
386
386
  end
@@ -394,12 +394,12 @@ describe Mixlib::Config do
394
394
  end
395
395
 
396
396
  it "save should save the new value if it gets set" do
397
- @klass.attr << 'x'
398
- (saved = @klass.save).should == { :attr => [ 'x' ] }
397
+ @klass.attr << "x"
398
+ (saved = @klass.save).should == { :attr => [ "x" ] }
399
399
  @klass.reset
400
400
  @klass.attr.should == []
401
401
  @klass.restore(saved)
402
- @klass.attr.should == [ 'x' ]
402
+ @klass.attr.should == [ "x" ]
403
403
  end
404
404
 
405
405
  it "save should save the new value even if it is set to its default value" do
@@ -435,12 +435,12 @@ describe Mixlib::Config do
435
435
  end
436
436
 
437
437
  it "save should save the new value if it gets set" do
438
- @klass.attr[:hi] = 'lo'
439
- (saved = @klass.save).should == { :attr => { :hi => 'lo' } }
438
+ @klass.attr[:hi] = "lo"
439
+ (saved = @klass.save).should == { :attr => { :hi => "lo" } }
440
440
  @klass.reset
441
441
  @klass.attr.should == {}
442
442
  @klass.restore(saved)
443
- @klass.save.should == { :attr => { :hi => 'lo' } }
443
+ @klass.save.should == { :attr => { :hi => "lo" } }
444
444
  end
445
445
 
446
446
  it "save should save the new value even if it is set to its default value" do
@@ -457,14 +457,14 @@ describe Mixlib::Config do
457
457
  before :each do
458
458
  @klass = Class.new
459
459
  @klass.extend(::Mixlib::Config)
460
- @klass.class_eval { default :attr, 'hello' }
460
+ @klass.class_eval { default :attr, "hello" }
461
461
  end
462
462
 
463
463
  it "reset clears it to its default" do
464
- @klass.attr << ' world'
465
- @klass.attr.should == 'hello world'
464
+ @klass.attr << " world"
465
+ @klass.attr.should == "hello world"
466
466
  @klass.reset
467
- @klass.attr.should == 'hello'
467
+ @klass.attr.should == "hello"
468
468
  end
469
469
 
470
470
  it "save should not save anything for it" do
@@ -472,25 +472,25 @@ describe Mixlib::Config do
472
472
  end
473
473
 
474
474
  it "save with include_defaults should save all defaults" do
475
- @klass.save(true).should == { :attr => 'hello' }
475
+ @klass.save(true).should == { :attr => "hello" }
476
476
  end
477
477
 
478
478
  it "save should save the new value if it gets set" do
479
- @klass.attr << ' world'
480
- (saved = @klass.save).should == { :attr => 'hello world' }
479
+ @klass.attr << " world"
480
+ (saved = @klass.save).should == { :attr => "hello world" }
481
481
  @klass.reset
482
- @klass.attr.should == 'hello'
482
+ @klass.attr.should == "hello"
483
483
  @klass.restore(saved)
484
- @klass.attr.should == 'hello world'
484
+ @klass.attr.should == "hello world"
485
485
  end
486
486
 
487
487
  it "save should save the new value even if it is set to its default value" do
488
- @klass.attr 'hello world'
489
- (saved = @klass.save).should == { :attr => 'hello world' }
488
+ @klass.attr "hello world"
489
+ (saved = @klass.save).should == { :attr => "hello world" }
490
490
  @klass.reset
491
491
  @klass.save.should == {}
492
492
  @klass.restore(saved)
493
- @klass.save.should == { :attr => 'hello world' }
493
+ @klass.save.should == { :attr => "hello world" }
494
494
  end
495
495
  end
496
496
 
@@ -563,7 +563,7 @@ describe Mixlib::Config do
563
563
  @klass.class_eval do
564
564
  configurable(:attr) do |c|
565
565
  c.defaults_to(4)
566
- c.writes_value { |value| value*2 }
566
+ c.writes_value { |value| value * 2 }
567
567
  end
568
568
  end
569
569
  end
@@ -638,7 +638,7 @@ describe Mixlib::Config do
638
638
  @klass = Class.new
639
639
  @klass.extend(::Mixlib::Config)
640
640
  @klass.class_eval do
641
- configurable(:attr).defaults_to(4).writes_value { |value| value*2 }
641
+ configurable(:attr).defaults_to(4).writes_value { |value| value * 2 }
642
642
  end
643
643
  end
644
644
 
@@ -1,8 +1,8 @@
1
- $TESTING=true
2
- $:.push File.join(File.dirname(__FILE__), '..', 'lib')
1
+ $TESTING = true
2
+ $:.push File.join(File.dirname(__FILE__), "..", "lib")
3
3
 
4
- require 'rspec'
5
- require 'mixlib/config'
4
+ require "rspec"
5
+ require "mixlib/config"
6
6
 
7
7
  class ConfigIt
8
8
  extend Mixlib::Config
@@ -12,4 +12,5 @@ RSpec.configure do |config|
12
12
  config.filter_run :focus => true
13
13
  config.run_all_when_everything_filtered = true
14
14
  config.treat_symbols_as_metadata_keys_with_true_values = true
15
+ config.warnings = true
15
16
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixlib-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1
4
+ version: 2.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-12 00:00:00.000000000 Z
11
+ date: 2016-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -60,6 +60,7 @@ extra_rdoc_files:
60
60
  - LICENSE
61
61
  - README.md
62
62
  files:
63
+ - Gemfile
63
64
  - LICENSE
64
65
  - NOTICE
65
66
  - README.md
@@ -70,6 +71,7 @@ files:
70
71
  - lib/mixlib/config/reopened_configurable_with_config_context_error.rb
71
72
  - lib/mixlib/config/unknown_config_option_error.rb
72
73
  - lib/mixlib/config/version.rb
74
+ - mixlib-config.gemspec
73
75
  - spec/mixlib/config_spec.rb
74
76
  - spec/spec_helper.rb
75
77
  homepage: http://www.chef.io
@@ -92,9 +94,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
94
  version: '0'
93
95
  requirements: []
94
96
  rubyforge_project:
95
- rubygems_version: 2.4.5
97
+ rubygems_version: 2.6.6
96
98
  signing_key:
97
99
  specification_version: 4
98
100
  summary: A class based configuration library
99
101
  test_files: []
100
- has_rdoc: