elixir-cldr / cldr_units

Unit formatting (volume, area, length, ...) functions for the Common Locale Data Repository (CLDR)
Other
16 stars 13 forks source link

No default :ex_cldr backend is configured #22

Closed maennchen closed 3 years ago

maennchen commented 3 years ago

Issue

When using MyApp.Cldr.Unit.to_string!(7.3, unit: :kilogram), the following error is raised.

** (Cldr.NoDefaultBackendError) No default :ex_cldr backend is configured
    (ex_cldr 2.22.0) lib/cldr/config/config.ex:332: Cldr.Config.default_backend/0
    (ex_cldr 2.22.0) lib/cldr.ex:614: Cldr.validate_locale/1
    (ex_cldr_units 3.5.2) lib/cldr/unit.ex:2050: Cldr.Unit.validate_grammatical_gender/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:298: Cldr.Unit.Format.normalize_options/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:193: Cldr.Unit.Format.to_string/3
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:281: Cldr.Unit.Format.to_string!/3

I've tried to use different notations and always get the same result:

iex> MyBluePlanet.ClimateActionsAdmin.Cldr.Unit.to_string!(7.3, unit: :kilogram)
** (Cldr.NoDefaultBackendError) No default :ex_cldr backend is configured
    (ex_cldr 2.22.0) lib/cldr/config/config.ex:332: Cldr.Config.default_backend/0
    (ex_cldr 2.22.0) lib/cldr.ex:614: Cldr.validate_locale/1
    (ex_cldr_units 3.5.2) lib/cldr/unit.ex:2050: Cldr.Unit.validate_grammatical_gender/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:298: Cldr.Unit.Format.normalize_options/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:193: Cldr.Unit.Format.to_string/3
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:281: Cldr.Unit.Format.to_string!/3
iex> Cldr.Unit.to_string!(7.3, MyBluePlanet.ClimateActionsAdmin.Cldr, unit: :kilogram)
** (Cldr.NoDefaultBackendError) No default :ex_cldr backend is configured
    (ex_cldr 2.22.0) lib/cldr/config/config.ex:332: Cldr.Config.default_backend/0
    (ex_cldr 2.22.0) lib/cldr.ex:614: Cldr.validate_locale/1
    (ex_cldr_units 3.5.2) lib/cldr/unit.ex:2050: Cldr.Unit.validate_grammatical_gender/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:298: Cldr.Unit.Format.normalize_options/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:193: Cldr.Unit.Format.to_string/3
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:281: Cldr.Unit.Format.to_string!/3
iex> MyBluePlanet.ClimateActionsAdmin.Cldr.Unit.to_string!(7.3, unit: :kilogram, backend: MyBluePlanet.ClimateActionsAdmin.Cldr)
** (Cldr.NoDefaultBackendError) No default :ex_cldr backend is configured
    (ex_cldr 2.22.0) lib/cldr/config/config.ex:332: Cldr.Config.default_backend/0
    (ex_cldr 2.22.0) lib/cldr.ex:614: Cldr.validate_locale/1
    (ex_cldr_units 3.5.2) lib/cldr/unit.ex:2050: Cldr.Unit.validate_grammatical_gender/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:298: Cldr.Unit.Format.normalize_options/2
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:193: Cldr.Unit.Format.to_string/3
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:281: Cldr.Unit.Format.to_string!/3
iex> Cldr.Unit.to_string!(7.3, unit: :kilogram, backend: MyBluePlanet.ClimateActionsAdmin.Cldr)
** (Cldr.NoDefaultBackendError) No default :ex_cldr backend is configured
    (ex_cldr 2.22.0) lib/cldr/config/config.ex:332: Cldr.Config.default_backend/0
    (ex_cldr 2.22.0) lib/cldr.ex:449: Cldr.put_default_locale/1
    (ex_cldr 2.22.0) lib/cldr.ex:395: Cldr.default_locale/0
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:153: Cldr.Unit.Format.to_string/3
    (ex_cldr_units 3.5.2) lib/cldr/unit/format.ex:281: Cldr.Unit.Format.to_string!/3

Versions

mix deps | grep ex_cldr
* ex_cldr 2.22.0 (Hex package) (mix)
  locked at 2.22.0 (ex_cldr) c6c8aae8
* ex_cldr_calendars 1.14.1 (Hex package) (mix)
  locked at 1.14.1 (ex_cldr_calendars) ffd960e9
* ex_cldr_currencies 2.9.1 (Hex package) (mix)
  locked at 2.9.1 (ex_cldr_currencies) 1bc6f9ea
* ex_cldr_dates_times 2.7.2 (Hex package) (mix)
  locked at 2.7.2 (ex_cldr_dates_times) ae6bcb69
* ex_cldr_lists 2.8.0 (Hex package) (mix)
  locked at 2.8.0 (ex_cldr_lists) 455406d4
* ex_cldr_numbers 2.18.0 (Hex package) (mix)
  locked at 2.18.0 (ex_cldr_numbers) 9663db9c
* ex_cldr_units 3.5.2 (Hex package) (mix)
  locked at 3.5.2 (ex_cldr_units) edb4066f
maennchen commented 3 years ago

Thanks @kipcole9 :heart:

kipcole9 commented 3 years ago

Thanks for the report, that was quite sloppy of me. The fix requires an update to both ex_cldr version 2.22.1 and ex_cldr_units version 3.5.3.

The changelog entries are:

Ex_cldr Bug Fixes

Ex_cldr_units Bug Fixes