lib/jsonapi/link_builder.rb in jsonapi-resources-0.9.10 vs lib/jsonapi/link_builder.rb in jsonapi-resources-0.9.11

- old
+ new

@@ -103,19 +103,22 @@ def format_route(route) route_formatter.format(route) end def formatted_module_path_from_class(klass) - scopes = if @engine - module_scopes_from_class(klass)[1..-1] - else - module_scopes_from_class(klass) - end + @_module_path_cache ||= {} + @_module_path_cache[klass] ||= begin + scopes = if @engine + module_scopes_from_class(klass)[1..-1] + else + module_scopes_from_class(klass) + end - unless scopes.empty? - "/#{ scopes.map {|scope| format_route(scope.to_s.underscore)}.compact.join('/') }/" - else - "/" + unless scopes.empty? + "/#{ scopes.map {|scope| format_route(scope.to_s.underscore)}.compact.join('/') }/" + else + "/" + end end end def module_scopes_from_class(klass) klass.name.to_s.split("::")[0...-1]