class Courtier::Configuration::DSL

Public Class Methods

new(configuration) click to toggle source
# File lib/courtier/configuration.rb, line 280
def initialize(configuration)
  @configuration = configuration
  @_options = {}
end

Public Instance Methods

config(command, options={}, &block) click to toggle source
# File lib/courtier/configuration.rb, line 312
def config(command, options={}, &block)
  nested_keys = @_options.keys & options.keys.map{|k| k.to_sym}
  raise ArgumentError, "nested #{nested_keys.join(', ')}" unless nested_keys.empty?

  options = @_options.merge(options)
  @configuration.config(command, options, &block)
end
onload(feature, options={}, &block) click to toggle source
# File lib/courtier/configuration.rb, line 322
def onload(feature, options={}, &block)
  nested_keys = @_options.keys & options.keys.map{|k| k.to_sym}
  raise ArgumentError, "nested #{nested_keys.join(', ')}" unless nested_keys.empty?

  options = @_options.merge(options)
  options[:onload] = true
  @configuration.config(feature, options, &block)
end
profile(name, &block) click to toggle source
# File lib/courtier/configuration.rb, line 288
def profile(name, &block)
  raise SyntaxError, "nested profile sections" if @_options[:profile]
  @_options[:profile] = name.to_s
  instance_eval(&block)
  @_options.delete(:profile)
end