diff options
author | José Valim <jose.valim@gmail.com> | 2011-09-22 15:03:05 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-09-22 15:03:05 +0200 |
commit | 119e9e2dafb0cdc5b85613b730333679aef534af (patch) | |
tree | d2d26382e4f606a5c13d7c76cd48ed3f57f11b36 /actionpack/lib/action_view/lookup_context.rb | |
parent | cbaad674f13067c52fa8c1a24dc498e570db4eed (diff) | |
download | rails-119e9e2dafb0cdc5b85613b730333679aef534af.tar.gz rails-119e9e2dafb0cdc5b85613b730333679aef534af.tar.bz2 rails-119e9e2dafb0cdc5b85613b730333679aef534af.zip |
Get rid of update_details in favor of passing details to find_template.
Diffstat (limited to 'actionpack/lib/action_view/lookup_context.rb')
-rw-r--r-- | actionpack/lib/action_view/lookup_context.rb | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/actionpack/lib/action_view/lookup_context.rb b/actionpack/lib/action_view/lookup_context.rb index 96ef7da01b..8267977830 100644 --- a/actionpack/lib/action_view/lookup_context.rb +++ b/actionpack/lib/action_view/lookup_context.rb @@ -20,18 +20,16 @@ module ActionView def self.register_detail(name, options = {}, &block) self.registered_details << name - initialize = registered_details.map { |n| "self.#{n} = details[:#{n}]" } - update = registered_details.map { |n| "self.#{n} = details[:#{n}] if details.key?(:#{n})" } - Accessors.send :define_method, :"_#{name}_defaults", &block + Accessors.send :define_method, :"default_#{name}", &block Accessors.module_eval <<-METHOD, __FILE__, __LINE__ + 1 def #{name} @details[:#{name}] end def #{name}=(value) - value = Array.wrap(value.presence || _#{name}_defaults) + value = Array.wrap(value.presence || default_#{name}) _set_detail(:#{name}, value) if value != @details[:#{name}] end @@ -39,11 +37,6 @@ module ActionView def initialize_details(details) #{initialize.join("\n")} end - - remove_possible_method :update_details - def update_details(details) - #{update.join("\n")} - end METHOD end @@ -88,24 +81,6 @@ module ActionView @cache = old_value end - # Update the details keys by merging the given hash into the current - # details hash. If a block is given, the details are modified just during - # the execution of the block and reverted to the previous value after. - def update_details(new_details) - if block_given? - old_details, old_key = @details.dup, @details_key - super - - begin - yield - ensure - @details, @details_key = old_details, old_key - end - else - super - end - end - protected def _set_detail(key, value) @@ -220,7 +195,7 @@ module ActionView # add :html as fallback to :js. def formats=(values) if values - values.concat(_formats_defaults) if values.delete "*/*" + values.concat(default_formats) if values.delete "*/*" values << :html if values == [:js] end super(values) @@ -246,7 +221,7 @@ module ActionView config.locale = value end - super(@skip_default_locale ? I18n.locale : _locale_defaults) + super(@skip_default_locale ? I18n.locale : default_locale) end # A method which only uses the first format in the formats array for layout lookup. |