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.
