module Zenlish::WClasses::IrregularVerbExtension
Public Instance Methods
forms(theForms)
click to toggle source
@param theForm [Hash{Symbol => String}]
# File lib/zenlish/wclasses/irregular_verb_extension.rb, line 17 def forms(theForms) valid_symbols = %i[past_simple past_participle] actual_symbols = theForms.keys actual_symbols.each do |symb| raise StandardError, "Invalid verb form #{symb}" unless valid_symbols.include?(symb) end if actual_symbols.size < valid_symbols.size missing = valid_symbols.find { |symb| !actual_symbols.include?(symb) } raise StandardError, "Missing form #{missing}" end @forms = [nil, nil] @forms[0] = theForms[valid_symbols[0]] @forms[1] = theForms[valid_symbols[1]] end
init_extension(host)
click to toggle source
This callback when the module is extending an object. Purpose: to inject a number of instance variables in the host def extended(host)
# File lib/zenlish/wclasses/irregular_verb_extension.rb, line 12 def init_extension(host) host.instance_variable_set(:@forms, []) end
past_participle()
click to toggle source
# File lib/zenlish/wclasses/irregular_verb_extension.rb, line 36 def past_participle @forms.last end
past_simple()
click to toggle source
# File lib/zenlish/wclasses/irregular_verb_extension.rb, line 32 def past_simple @forms.first end