Class: Linguistics::Latin::Verb::LatinVerb::ChartPresenter

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/components/chart_presenter.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb) ⇒ ChartPresenter

Returns a new instance of ChartPresenter.



6
7
8
# File 'lib/latinverb/components/chart_presenter.rb', line 6

def initialize(verb)
  @verb = verb
end

Instance Method Details

#chartObject Also known as: c



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/latinverb/components/chart_presenter.rb', line 10

def chart
  f="%9s%15s%15s%15s\n"
  f_subjunctive="%9s%15s%15s%15s%15s\n"
  c_prep "Present System", [
                            @verb.active_voice_indicative_mood_present_tense,
                            @verb.active_voice_indicative_mood_imperfect_tense,
                            @verb.active_voice_indicative_mood_future_tense
                           ], %w/Present Imperfect Future/,f
  puts "\n"
  c_prep "Perfect System", [ @verb.active_voice_indicative_mood_perfect_tense,
                             @verb.active_voice_indicative_mood_pastperfect_tense,
                             @verb.active_voice_indicative_mood_futureperfect_tense
                           ], %w/Perfect Past-Perfect Future-Perfect/,f
  puts "\n"
  c_prep "Passive Present System", [
                                    @verb.passive_voice_indicative_mood_present_tense,
                                    @verb.passive_voice_indicative_mood_imperfect_tense,
                                    @verb.passive_voice_indicative_mood_future_tense
                                   ], %w/Present Imperfect Future/,f
  puts "\n"
  c_prep "Passive Perfect System", [ @verb.passive_voice_indicative_mood_perfect_tense,
                                     @verb.passive_voice_indicative_mood_pastperfect_tense,
                                     @verb.passive_voice_indicative_mood_futureperfect_tense
                                   ], %w/Perfect Past-Perfect Future-Perfect/,f
  puts "\n"


  c_prep "Subjunctives", [ @verb.active_voice_subjunctive_mood_present_tense,
                           @verb.active_voice_subjunctive_mood_imperfect_tense,
                           @verb.active_voice_subjunctive_mood_perfect_tense,
                           @verb.active_voice_subjunctive_mood_pastperfect_tense
                         ], %w/Present Imperfect Perfect Past-Perfect/,f_subjunctive
  puts "\n"
  c_prep "Passive Subjunctives", [ @verb.active_voice_subjunctive_mood_present_tense,
                                   @verb.active_voice_subjunctive_mood_imperfect_tense,
                                   @verb.active_voice_subjunctive_mood_perfect_tense,
                                   @verb.active_voice_subjunctive_mood_pastperfect_tense
                                 ], %w/Present Imperfect Perfect Past-Perfect/,f_subjunctive
  puts "\n"
  puts "Participles"
  @verb.methods.grep(/_participle$/).each do |p|
    printf "%42s %42s\n", p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}, @verb.send(p)
  end
  puts "\n"
  puts "Infinitives"
  @verb.methods.grep(/infinitive$/).each do |p|
    printf "%42s %42s\n", (p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}), @verb.send(p)
  end
  return nil
end