Class: Linguistics::Latin::Verb::LatinVerb::PerfectTenseRemover

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/tense_method_applicator/perfect_tense_remover.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb_with_perfect_tenses) ⇒ PerfectTenseRemover

Returns a new instance of PerfectTenseRemover.



6
7
8
# File 'lib/latinverb/tense_method_applicator/perfect_tense_remover.rb', line 6

def initialize(verb_with_perfect_tenses)
  @verb = verb_with_perfect_tenses
end

Instance Method Details

#remove!Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/latinverb/tense_method_applicator/perfect_tense_remover.rb', line 10

def remove!
  tense_blocks_to_eclipse =
    @verb.methods.grep( /^(active|passive).*(_|past|future)perfect_/ )

  tense_blocks_to_eclipse.each do |s|
    @verb.singleton_class.class_eval do
      define_method s do
        return NullTenseBlock.new
      end
    end
  end
end