@@ -82,27 +82,23 @@ if Code.ensure_loaded?(Ecto.Query) do
8282 with field <- field ( translatable ) do
8383 with { module_name , [ ] } <- Module . eval_quoted ( __CALLER__ , module ) do
8484 validate_field ( module_name , field )
85- generate_query ( schema ( translatable ) , module_name , field , locale ( locale ) )
85+ generate_query ( schema ( translatable ) , module_name , field , locale )
8686 end
8787 end
8888 end
8989
9090 defp generate_query ( schema , module , nil , locale ) do
9191 quote do
92- fragment ( "(?->?)" , field ( unquote ( schema ) , unquote ( module . __trans__ ( :container ) ) ) , ^ unquote ( locale ) )
92+ fragment ( "(?->?)" , field ( unquote ( schema ) , unquote ( module . __trans__ ( :container ) ) ) , ^ to_string ( unquote ( locale ) ) )
9393 end
9494 end
9595
9696 defp generate_query ( schema , module , field , locale ) do
9797 quote do
98- fragment ( "(?->?->>?)" , field ( unquote ( schema ) , unquote ( module . __trans__ ( :container ) ) ) , ^ unquote ( locale ) , ^ unquote ( field ) )
98+ fragment ( "(?->?->>?)" , field ( unquote ( schema ) , unquote ( module . __trans__ ( :container ) ) ) , ^ to_string ( unquote ( locale ) ) , ^ unquote ( field ) )
9999 end
100100 end
101101
102- defp locale ( locale ) when is_atom ( locale ) and not is_nil ( locale ) , do: to_string ( locale )
103- defp locale ( locale ) when is_binary ( locale ) , do: locale
104- defp locale ( _ ) , do: raise ArgumentError , message: "The locale code must be either an atom or a string"
105-
106102 defp schema ( { { :. , _ , [ schema , _field ] } , _metadata , _args } ) , do: schema
107103 defp schema ( schema ) , do: schema
108104
0 commit comments