verbs
verbs copied to clipboard
English verb conjugation for Ruby (and Rails)
Verbs
Conjugates most common english verbs for all persons, tenses, standard aspects, and modern moods (with active diathesis). Standard and exceptional spelling rules are obeyed.
Verbs::Conjugator.conjugate :be, :tense => :past, :person => :second, :plurality => :singular, :aspect => :perfective
# => :were
'be nice'.verb.conjugate :subject => 'Matz'
# => "Matz is nice"
:sleep.verb.conjugate :tense => :future, :person => :first, :plurality => :singular, :aspect => :progressive, :subject => true
# => :"I will be sleeping"
Installation
gem install verbs
Options
This library takes a rather strict view of English verb conjugation.
:tense
One of :past
, :present
, or :future
. Defaults to :present
.
:person
One of :first
, :second
, or :third
. Defaults to :third
.
:plurality
Either :singular
or :plural
. Defaults to :singular
.
:aspect
One of :habitual
, :perfect
, :perfective
, :progressive
, or
:prospective
. Defaults to :habitual
(:perfective
for past tense).
See below for a guide to verb aspect.
:mood
One of :indicative
, :imperative
, or :subjunctive
. Defaults to
:indicative
.
:subject
Set this to a string to prepend the conjugated verb with it. When set to true
, a standard personal pronoun will be used.
:diathesis
One of :active
or :passive
. Defaults to :active
.
Tense/aspect quick reference
EXAMPLE | TENSE | ASPECT |
---|---|---|
I used to accept | past | habitual |
I had accepted | past | perfect |
I accepted | past | perfective |
I was accepting | past | progressive |
I was about to accept | past | prospective |
I accept | present | habitual |
I have accepted | present | perfect |
I am having accepted | present | perfective |
I am accepting | present | progressive |
I am about to accept | present | prospective |
I will accept | future | habitual |
I will have accepted | future | perfect |
Acknowledgements
- Lingua::Conjugate
- Pat Byrd and Tom McKlin
- Rick Harrison
- Anatoli Makarevich for #6
- Nikita Kamaev for #35
Copyright
Copyright (c) 2012 Andy Rossmeissl. See LICENSE for details.