Validate option before sending

This commit is contained in:
Norman Clarke 2012-06-05 12:46:55 -03:00
parent 87b10f9764
commit c94794f149
1 changed files with 11 additions and 3 deletions

View File

@ -54,7 +54,9 @@ module Haml
def initialize(values = {}, &block)
self.class.defaults.merge(values).each {|key, value| send "#{key}=", value}
defaults.merge(values).each do |key, value|
send "#{key}=", value if defaults.has_key?(key)
end
yield if block_given?
end
@ -66,7 +68,7 @@ module Haml
send "#{key}=", value
end
[:escape_attrs, :hyphenate_data_attrs, :remove_whitespace, :suppress_eval,
[:escape_attrs, :hyphenate_data_attrs, :remove_whitespace, :suppress_eval,
:ugly].each do |method|
class_eval(<<-END)
def #{method}?
@ -109,7 +111,7 @@ module Haml
end
@format = value
end
def remove_whitespace=(value)
@ugly = true if value
@remove_whitespace = value
@ -139,5 +141,11 @@ module Haml
end
end
private
def defaults
self.class.defaults
end
end
end