config/initializers/action_view.rb in camaleon_cms-2.6.0.1 vs config/initializers/action_view.rb in camaleon_cms-2.6.1

- old
+ new

@@ -11,46 +11,37 @@ else prefixes = [""] unless prefixes.present? prefixes = (self.prefixes + prefixes).uniq if prefixes.is_a?(Array) end end - @view_paths.find(*args_for_lookup(name, prefixes, partial, keys, options)) + @view_paths.find(*cama_args_for_lookup(name, prefixes, partial, keys, options)) end alias :find_template :find - end - end -end - -if Rails.version.to_s[0].to_i == 4 - module ActionView - class LookupContext #:nodoc: - module ViewPaths - # fix to add camaleon prefixes on verify template exist - def exists?(name, prefixes = [], partial = false, keys = [], options = {}) - if use_camaleon_partial_prefixes.present? - prefixes = [""] unless prefixes.present? - prefixes = (prefixes+self.prefixes).uniq if prefixes.is_a?(Array) - end - @view_paths.exists?(*args_for_lookup(name, prefixes, partial, keys, options)) + # fix to add camaleon prefixes on verify template exist + def exists?(name, prefixes = [], partial = false, keys = [], **options) + if use_camaleon_partial_prefixes.present? + prefixes = [""] unless prefixes.present? + prefixes = (prefixes+self.prefixes).uniq if prefixes.is_a?(Array) end - alias :template_exists? :exists? + @view_paths.exists?(*cama_args_for_lookup(name, prefixes, partial, keys, options)) end - end - end -else - module ActionView - class LookupContext #:nodoc: - module ViewPaths - # fix to add camaleon prefixes on verify template exist - def exists?(name, prefixes = [], partial = false, keys = [], **options) - if use_camaleon_partial_prefixes.present? - prefixes = [""] unless prefixes.present? - prefixes = (prefixes+self.prefixes).uniq if prefixes.is_a?(Array) - end - @view_paths.exists?(*args_for_lookup(name, prefixes, partial, keys, options)) + alias :template_exists? :exists? + + private + + # Rails 7 removed a private API method used by Camaleon. This method + # re-implements it or delegates to it, depending on Rails version. + def cama_args_for_lookup(name, prefixes, partial, keys, details_options) + if Rails.version.to_i < 7 + args_for_lookup(name, prefixes, partial, keys, details_options) + else + # Re-implement the :args_for_lookup method from Rails < 7 + name, prefixes = normalize_name(name, prefixes) + prefixes = prefixes.map { |prefix| prefix.start_with?("/") ? prefix[1..-1] : prefix } + details, details_key = detail_args_for(details_options) + [name, prefixes, partial || false, details, details_key, keys] end - alias :template_exists? :exists? end end end -end \ No newline at end of file +end