Project

General

Profile

« Previous | Next » 

Revision ab0cc0a1

Added by Marek Hulán over 8 years ago

Fixes #12827 - deconstantize resource only when needed

View differences:

app/helpers/filters_helper_overrides.rb
end
def self.can_override?(class_or_engine_name)
@@overrides.include?(class_or_engine_name.deconstantize)
@@overrides.include?(deconstantize_name(class_or_engine_name))
end
def self.search_path(class_or_engine_name)
@@overrides[class_or_engine_name.deconstantize].call(class_or_engine_name)
@@overrides[deconstantize_name(class_or_engine_name)].call(class_or_engine_name)
end
private
def self.deconstantize_name(name)
name.include?('::') ? name.deconstantize : name
end
def initialize; end
end
test/unit/helpers/filters_helper_test.rb
FiltersHelperOverrides.override_search_path("TestOverride", ->(resource) { 'test_override/auto_complete_search' } )
assert_equal "test_override/auto_complete_search", search_path('TestOverride::Resource')
end
def test_no_deconstantization_if_there_is_no_namespace
FiltersHelperOverrides.override_search_path("TestOverride", ->(resource) { 'test_override/auto_complete_search' } )
assert_equal "test_override/auto_complete_search", search_path('TestOverride')
end
end

Also available in: Unified diff