# frozen_string_literal: true module FFaker module UnitEnglish include FFaker::Unit extend ModuleUtils extend self LENGTH_UNITS = [ { name: 'inch', abbreviation: 'in' }, { name: 'foot', abbreviation: 'ft' }, { name: 'yard', abbreviation: 'yd' }, { name: 'furlong', abbreviation: 'fur' }, { name: 'mile', abbreviation: 'mi' } ].freeze MASS_UNITS = [ { name: 'grains', abbreviation: 'gr' }, { name: 'ounces', abbreviation: 'oz' }, { name: 'pounds', abbreviation: 'lb' }, { name: 'hundredweight', abbreviation: 'cwt' }, { name: 'ton', abbreviation: 't' } ].freeze LIQUID_UNITS = [ { name: 'fluid ounce', abbreviation: 'fl oz' }, { name: 'gill', abbreviation: 'gi' }, { name: 'pint', abbreviation: 'pt' }, { name: 'quart', abbreviation: 'qt' } ].freeze VOLUME_UNITS = [ { name: 'cubic inch', abbreviation: 'CI' }, { name: 'cubic foot', abbreviation: 'CFT' }, { name: 'cubic yard', abbreviation: 'CY' } ].freeze AREA_UNITS = [ { name: 'square inch', abbreviation: 'sq in' }, { name: 'square foot', abbreviation: 'sq ft' }, { name: 'square yard', abbreviation: 'sq yd' }, { name: 'acre', abbreviation: 'ac' }, { name: 'section', abbreviation: 's' }, { name: 'square mile', abbreviation: 'sq mi' }, { name: 'township', abbreviation: 'twp' } ].freeze def mass_name mass[:name] end def mass_abbr mass[:abbreviation] end def length_name length[:name] end def length_abbr length[:abbreviation] end def liquid_name liquid[:name] end def liquid_abbr liquid[:abbreviation] end def volume_name volume[:name] end def volume_abbr volume[:abbreviation] end def area_name area[:name] end def area_abbr area[:abbreviation] end private def length fetch_sample(LENGTH_UNITS) end def mass fetch_sample(MASS_UNITS) end def liquid fetch_sample(LIQUID_UNITS) end def volume fetch_sample(VOLUME_UNITS) end def area fetch_sample(AREA_UNITS) end end end