module Kramdown::Options
def self.define(name, type, default, desc)
The type 'Object' should only be used if none of the other types suffices because such an
Symbol, Boolean, Array, Object), default value +default+ and the description +desc+.
Define a new option called +name+ (a Symbol) with the given +type+ (String, Integer, Float,
def self.define(name, type, default, desc) raise ArgumentError, "Option name #{name} is already used" if @options.has_key?(name) raise ArgumentError, "Invalid option type #{type} specified" if !ALLOWED_TYPES.include?(type) raise ArgumentError, "Invalid type for default value" if !(type === default) && !default.nil? @options[name] = Definition.new(name, type, default, desc) end