class Linguistics::Latin::Verb::LatinVerb::ChartPresenter
Public Class Methods
new(verb)
click to toggle source
# File lib/latinverb_chart_presenter/chart_presenter.rb, line 6 def initialize(verb) @verb = verb end
Public Instance Methods
chart()
click to toggle source
# File lib/latinverb_chart_presenter/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" puts "===========" LatinVerb::PARTICIPLE_METHODS.each do |p| printf "%42s %42s\n", p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}, String(@verb.send(p)) rescue nil end puts "\n" puts "Infinitives" puts "===========" LatinVerb::INFINITIVE_METHODS.each do |p| printf "%42s %42s\n", (p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}), String(@verb.send(p)) rescue nil end puts "\n" puts "Imperatives" puts "===========" puts "#{@verb.imperatives[0]}, #{@verb.imperatives[1]}" return nil end
Also aliased as: c
Private Instance Methods
c_prep(heading, rays, subtitles, format_string)
click to toggle source
# File lib/latinverb_chart_presenter/chart_presenter.rb, line 73 def c_prep(heading, rays, subtitles, format_string) puts heading puts '=' * heading.length + "\n" printf format_string, '', *subtitles underbars = subtitles.map{|j| j.gsub!( /./, '=' )} printf format_string, '', *underbars vertical_transform( rays ).each{|a| printf format_string, *a} end
vertical_transform( opts = [] )
click to toggle source
# File lib/latinverb_chart_presenter/chart_presenter.rb, line 82 def vertical_transform( opts = [] ) # Get the length of the first array to be verticalized ['1st Sg.', '2nd Sg.', '3rd Sg.','1st Pl.', '2nd Pl.', '3rd Pl.'].zip(*opts) end