elixir-maru / maru

Elixir RESTful Framework
https://maru.readme.io
BSD 3-Clause "New" or "Revised" License
1.32k stars 84 forks source link

Cannot pass aliased function call as value for keyword `:values` in `optional` param #88

Closed nicooga closed 6 years ago

nicooga commented 6 years ago

Hi there!

I've found is not possible to pass an aliased module function call to optional/2 as in:

alias MyNamespace.GeoLocalization.Location

# ...

optional :province,
  type: String,
  values: Location.Province.__valid_values__()

This throws (UndefinedFunctionError) function Location.Province.__valid_values__/0 is undefined (module Location.Province is not available) . Using the fully qualified function name works:

optional :province,
  type: String,
  values: MyNamespace.GeoLocalization.Location.Province.__valid_values__()
nicooga commented 6 years ago

Fixed by https://github.com/elixir-maru/maru/pull/91.