defmodule EverFaker.Commerce.Hy do import EverFaker, only: [sampler: 2] alias EverFaker.Color.Hy, as: Color @moduledoc """ Fuctions for generating commerce related data in Armenian """ @doc """ Returns a random color. ## Examples iex> EverFaker.Commerce.Hy.color() "մոխրագույն" iex> EverFaker.Commerce.Hy.color() "կանաչ" iex> EverFaker.Commerce.Hy.color() "երկնագույն" iex> EverFaker.Commerce.Hy.color() "մանուշակագույն" """ @spec color() :: String.t() def color do Color.name() end @doc """ Returns a random department. ## Examples iex> EverFaker.Commerce.Hy.department() "Համակարգիչներ" iex> EverFaker.Commerce.Hy.department() "Երաժշտություն" iex> EverFaker.Commerce.Hy.department() "Գրքեր" iex> EverFaker.Commerce.Hy.department() "Էլեկտրոնիկա" """ @spec department() :: String.t() sampler(:department, [ "Գրքեր", "Ֆիլմեր", "Երաժշտություն", "Խաղեր", "Խաղալիքեր", "Էլեկտրոնիկա", "Համակարգիչներ", "Ապրանքներ Տան Համար", "Ապրանքներ Այգեգործության Համար", "Գործիքներ", "Նպարեղեն", "Առողջապահական Ապրանքներ", "Կոսմետիկ Ապրանքներ", "Մանկական Ապրանքներ", "Ապրանքներ Նորածինների Համար", "Հագուստ", "Կոշկեղեն", "Ոսկերչական Իրեր", "Սպորտային Ապրանքներ", "Ավտոմոբիլների Պահեստամասեր", "Արդյունաբերական Ապրանքներ" ]) @doc """ Returns a complete product name, based on product adjectives, product materials and product names. ## Examples iex> EverFaker.Commerce.Hy.product_name() "հիանալի բրոնզե գլխարկ" iex> EverFaker.Commerce.Hy.product_name() "ֆանտաստիկ դանակ" iex> EverFaker.Commerce.Hy.product_name() "պլաստիկից աթոռ" iex> EverFaker.Commerce.Hy.product_name() "ալյումինե վերնաշապիկ" """ @spec product_name() :: String.t() def product_name, do: product_name(EverFaker.random_between(0, 2)) defp product_name(0) do "#{product_name_adjective()} #{product_name_material()} #{product_name_product()}" end defp product_name(1), do: "#{product_name_adjective()} #{product_name_product()}" defp product_name(2), do: "#{product_name_material()} #{product_name_product()}" @doc """ Returns a random adjective for a product. ## Examples iex> EverFaker.Commerce.Hy.product_name_adjective() "ֆանտաստիկ" iex> EverFaker.Commerce.Hy.product_name_adjective() "հիանալի" iex> EverFaker.Commerce.Hy.product_name_adjective() "միջակ" iex> EverFaker.Commerce.Hy.product_name_adjective() "նրբագեղ" """ @spec product_name_adjective() :: String.t() sampler(:product_name_adjective, [ "փոքր", "Էրգոնիկ", "հասարակ", "խելացի", "շքեղ", "ցնցող", "ֆանտաստիկ", "պրակտիկ", "նրբագեղ", "հիանալի", "հսկայական", "միջակ", "դիմացկուն", "թեթև", "աերոդինամիկ", "ամուր" ]) @doc """ Returns a random product material. ## Examples iex> EverFaker.Commerce.Hy.product_name_material() "փայտե" iex> EverFaker.Commerce.Hy.product_name_material() "գրանիտե" iex> EverFaker.Commerce.Hy.product_name_material() "բրոնզե" iex> EverFaker.Commerce.Hy.product_name_material() "մարմարե" """ @spec product_name_material() :: String.t() sampler(:product_name_material, [ "պողպատե", "փայտե", "բետոնե", "պլաստիկից", "բամբակե", "գրանիտե", "ռետինե", "կաշվե", "մետաքսե", "բրդյա", "քաթանե", "մարմարե", "երկաթե", "բրոնզե", "պղնձյա", "ալյումինե", "թղթե" ]) @doc """ Returns a random product name. ## Examples iex> EverFaker.Commerce.Hy.product_name_product() "վերնաշապիկ" iex> EverFaker.Commerce.Hy.product_name_product() "ստեղնաշար" iex> EverFaker.Commerce.Hy.product_name_product() "վերնաշապիկ" iex> EverFaker.Commerce.Hy.product_name_product() "գլխարկ" """ @spec product_name_product() :: String.t() sampler(:product_name_product, [ "աթոռ", "ավտոմեքենա", "համակարգիչ", "ձեռնոց", "շալվար", "վերնաշապիկ", "սեղան", "կոշիկ", "գլխարկ", "ափսե", "դանակ", "շիշ", "վերարկու", "լամպ", "ստեղնաշար", "պայուսակ", "նստարան", "ժամացույց", "դրամապանակ" ]) end