Yesno is a simple utility for boolean case.
“yesno” is a simple aid for the Boolean case. “yesno” transforms the answers to true / false in various interpretations possible (yes / no, male / female, active / inactive). To use I18n translations and is provided with translations in Italian, English and French.
gem install yesno rails generate yesno:install
if @article.active is false
# yesno(@article.active) -> “false” # yesno(@article.active, :type => “atc”) -> “inactive”
if @person.sex is true
# yesno(@person.sex, :type => “mf”) -> “male” # yesno(@person.sex, :type => “mf”, :pluralize => true) -> “man”
the options are
:type => "tipology" :female => true/false :pluralize => true/false
the types are
"default" (true/false) "yn" (yes/no) "mf" (male/female) "act" (active/inactive)
Fyesno is a more fast implementation of yesno. Fyesno“ solves the conversion with a single ”if“ using the options to address directly the translation.
# fyesno(to_validate, type, option)
where default type is “default” and default option is “ms”. “option” is a string containing the two letters to this standard:
"ms" masculine singular "mp" masculine plural "fs" feminine singular "fp" feminine plural
if @var.test is true # fyesno(@var.test) -> "true" # fyesno(@var.test, "mf", "mp") -> "man" # fyesno(@var.test, "act", "fp") -> "actives"
To add new features just edit the file yesno.#{lang}.yml and add new implementations:
it: yesno: default: smt: "vero" smf: "falso" sft: "vera" sff: "falsa" pmt: "veri" pmf: "falsi" pft: "vere" pff: "false" yn: smt: "si" smf: "no" ecc.....
-
the type of translation is the third indentation
-
the translation is the fourth indentation
-
the name of the traslation (smt, smf, ecc.) is the declination.
smt single male true smf single male false .. pff pural female false
With this simple rule is possible to implement new uses
This project rocks and uses MIT-LICENSE.
email me if you have new implementations or translations