Sha256: c15ffbbdbc2be91a9f586d0f0e528ec2024d4695159bff79d43821f620e50e01
Contents?: true
Size: 732 Bytes
Versions: 1
Compression:
Stored size: 732 Bytes
Contents
dir = File.join(File.dirname(__FILE__)) Dir.glob(File.join(dir, "rsettings", "**", "*.rb")).each {|f| require f} class Settings def initialize(&block) @config = SettingsConfiguration.new if block_given? @config = SettingsConfiguration.new.tap do |conf| conf.instance_exec &block end end end def method_missing(m, *args, &block) fail "Only support queries, cannot do <#{m}>" unless args.empty? setting_name = @config.name_for m EnvironmentSettings.new.get(setting_name) end end class SettingsConfiguration def let(opts = {}) _opts.merge! opts.invert end def name_for(setting) _opts[setting] || setting end private def _opts; @opts ||= {}; end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rsettings-0.1.0 | lib/rsettings.rb |