class Brice::Config
Exclude unwanted packages:
config.exclude 'foo', 'bar' Brice.config -= %w[quix quux]
Include non-default packages:
config.include 'foo', 'bar' Brice.config += %w[quix quux]
Configure individual packages (depends on package):
# set property config.foo.bar = 'baz' # set multiple properties config.foo = %w[bar baz] # which is equivalent to: config.foo.bar = true config.foo.baz = true # reset package configuration config.foo! # see whether package is enabled/included config.foo?
Attributes
packages[R]
Public Class Methods
new(packages = [])
click to toggle source
# File lib/brice/config.rb 62 def initialize(packages = []) 63 @packages = Hash.new { |h, k| h[k] = PackageConfig.new } 64 self.include(*packages) 65 end
Public Instance Methods
config[package]
click to toggle source
Accessor for package package
.
# File lib/brice/config.rb 71 def [](package) 72 packages[package.to_s] 73 end
clear
click to toggle source
Clear all packages.
# File lib/brice/config.rb 116 def clear 117 packages.clear 118 end
exclude(*packages)
click to toggle source
config -= packages
Disable/exclude packages packages
.
# File lib/brice/config.rb 92 def exclude(*packages) 93 packages.each { |package| self.packages.delete(package.to_s) } 94 self 95 end
Also aliased as: -
include(*packages)
click to toggle source
config += packages
Enable/include packages packages
.
# File lib/brice/config.rb 80 def include(*packages) 81 packages.each { |package| self[package] } 82 self 83 end
Also aliased as: +
include?(package) → true or false
click to toggle source
have?(package) → true or false
See whether package package
is enabled/included.
# File lib/brice/config.rb 125 def include?(package) 126 packages.include?(package.to_s) 127 end
Also aliased as: have?
package # package configuration
click to toggle source
package = 'foo' # equivalent to: config.package.foo = true
package = %w[foo bar] # see above, multiple
package! # reset package configuration
package? # see whether package is enabled/included
Convenience accessors to individual package configurations.
# File lib/brice/config.rb 139 def method_missing(method, *args) 140 package, punctuation = method.to_s.sub(/([=!?])?\z/, ''), $1 141 142 assignment = punctuation == '=' 143 144 unless assignment || args.empty? 145 raise ArgumentError, "wrong number of arguments (#{args.size} for 0)" 146 end 147 148 case punctuation 149 when '=', '!' 150 config = packages[package] = PackageConfig.new 151 152 assignment ? Array(args.first).each { |arg| 153 config.send("#{arg}=", true) 154 } : config 155 when '?' 156 include?(package) 157 else 158 self[package] 159 end 160 end
only(*packages)
click to toggle source
config %= packages
Enable/include only packages packages
, disable/exclude everything else.
# File lib/brice/config.rb 105 def only(*packages) 106 clear 107 self.include(*packages) 108 end
Also aliased as: %