Skip to content

rossmeissl/verbs

Repository files navigation

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

Copyright

Copyright (c) 2012 Andy Rossmeissl. See LICENSE for details.