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