Let us know if/when it gets accepted please !
Also, add a link, would love to see the work!

On Friday, 1 March 2019 20:39:51 UTC+1, Andrea Leopardi wrote:
>
> I'm working on it, PR will be up in a few minutes.
>
> Andrea Leopardi
> [email protected] <javascript:>
>
>
> On Fri, Mar 1, 2019 at 10:00 AM José Valim <[email protected] 
> <javascript:>> wrote:
>
>> I agree. But it should be called System.fetch_env!/2 and we should have 
>> System.fetch_env/2 too. PR is welcome.
>>
>>
>> *José Valim*
>> www.plataformatec.com.br
>> Skype: jv.ptec
>> Founder and Director of R&D
>>
>>
>> On Fri, Mar 1, 2019 at 9:38 AM <[email protected] <javascript:>> 
>> wrote:
>>
>>> I really would to see something like this on elixir. I suggested 
>>> something really similar, the addition of an `fetch_env!` function to the 
>>> System module. 
>>> https://groups.google.com/forum/#!msg/elixir-lang-core/gijvoPm-a-0/Y2TzcHaiBgAJ
>>>
>>>
>>> Em sexta-feira, 1 de março de 2019 14:03:03 UTC-3, Fl4m3Ph03n1x escreveu:
>>>>
>>>> Background
>>>> I know this was proposed before and refuted: 
>>>> https://github.com/elixir-lang/elixir/issues/5608
>>>>
>>>> However, I recently had an issue that would have benefited from 
>>>> System.get_env! and was advised to create a proposal in this group and 
>>>> reopen the discussion.
>>>>
>>>> What was the issue?
>>>> Imagine you have a config.exs where you define some configurations. 
>>>> Imagine one of the configurations is the following:
>>>>
>>>> config :my_app,
>>>>   geolix_db_path: System.get_env("PROJECTS_PATH") <> 
>>>> "/my_app/lib/geoip/GeoLite2-Country.mmdb"
>>>>
>>>> Now this may look normal, but what if you don't have the "PROJETCS_PATH" 
>>>> variable defined? 
>>>> What error do you think you would get?
>>>>
>>>> We got this:
>>>>
>>>> ** (ArgumentError) argument error
>>>> (stdlib) eval_bits.erl:101: :eval_bits.eval_exp_field1/6
>>>> (stdlib) eval_bits.erl:92: :eval_bits.eval_field/3
>>>> (stdlib) eval_bits.erl:68: :eval_bits.expr_grp/4
>>>> (stdlib) erl_eval.erl:484: :erl_eval.expr/5
>>>> (stdlib) erl_eval.erl:888: :erl_eval.expr_list/6
>>>> (stdlib) erl_eval.erl:240: :erl_eval.expr/5
>>>> (stdlib) erl_eval.erl:232: :erl_eval.expr/5
>>>>
>>>> What now?
>>>> If you find this error message borderline useless and beyond cryptic, then 
>>>> you are with me. 
>>>> The problem is that the stacktrace is obfuscated while the config file is 
>>>> being evaluated. 
>>>>
>>>> The WHY of the proposal
>>>> A way of avoiding this would be to have a System.get_env! that blows 
>>>> immediately making the error very clear. 
>>>> I know I can use || raise "error" but I would like to avoid that every 
>>>> time I use System.get_env in a config file (or somewhere else  for that 
>>>> matter).
>>>>
>>>> Have you imagined what is like reading a config.ex file hundreds of lines 
>>>> long while using the || raise trick? 
>>>> We already have trouble managing our huge config files, adding this would 
>>>> make it even worst.
>>>>
>>>> Additional info
>>>> This discussion was generated from the forums. The original post with all 
>>>> the information can be seen here:
>>>>
>>>> https://elixirforum.com/t/mix-exs-does-not-compile/20516
>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/9b535dab-41b5-4caf-a7fc-b9e918aeffa0%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/9b535dab-41b5-4caf-a7fc-b9e918aeffa0%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elixir-lang-core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4J7xZsKNGPo6qgLcbohbP9oMM89D_zWobKwgQ%3DFPYVvHA%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4J7xZsKNGPo6qgLcbohbP9oMM89D_zWobKwgQ%3DFPYVvHA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/c8e52c8c-6c1d-407c-a3c1-d68a13f46071%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to