Class: Gamefic::Grammar::VerbSet
- Inherits:
-
Object
- Object
- Gamefic::Grammar::VerbSet
- Defined in:
- lib/gamefic/grammar/verb_set.rb
Instance Method Summary collapse
- #conjugate(pronoun) ⇒ Object
-
#initialize(infinitive, *forms) ⇒ VerbSet
constructor
A new instance of VerbSet.
Constructor Details
#initialize(infinitive, *forms) ⇒ VerbSet
Returns a new instance of VerbSet.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/gamefic/grammar/verb_set.rb', line 5 def initialize infinitive, *forms # TODO what to do with the tense? @infinitive = infinitive.to_s @forms = {} form = forms[0] @forms["1:singular"] = form.nil? ? @infinitive.to_s : form.to_s form = forms[1] @forms["2:singular"] = form.nil? ? @infinitive.to_s : form.to_s form = forms[2] @forms["3:singular"] = form.nil? ? generate_third_singular : form.to_s form = forms[3] @forms["1:plural"] = form.nil? ? @infinitive.to_s : form.to_s form = forms[4] @forms["2:plural"] = form.nil? ? @forms["1:plural"] : form.to_s form = forms[5] @forms["3:plural"] = form.nil? ? @forms["1:plural"] : form.to_s end |
Instance Method Details
#conjugate(pronoun) ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/gamefic/grammar/verb_set.rb', line 22 def conjugate pronoun form = @forms["#{pronoun.person}"] if form.nil? form = @forms["#{pronoun.person}:#{pronoun.plural? ? 'plural' : 'singular'}"] end if form.nil? raise "Unable to conjugate #{@infinitive}" end form end |