Use Macro.underscore/1 instead of custom implementation (#275)
Use Macro.underscore/1 instead of custom implementation (#275)

Regex.split/3's behavior was changed in Elixir 1.6 and caused ExMachina.Strategy.underscore/1 to return an extra underscore and broke all factory names that are generated by ExMachina.Strategy.name_from_struct/1. We use Macro.underscore/1 instead of Regex.split/3 + Enum.join/2 to convert module name to snake case. 
thoughtbot/ex_machina