class Linguistics::Latin::Verb::LatinVerb::SupineInferrer
Public Class Methods
new(perfect_passive_participle)
click to toggle source
# File lib/latinverb_irregular_participles_retriever/supine_inferrer.rb, line 6 def initialize(perfect_passive_participle) @perfect_passive_participle = String(perfect_passive_participle) end
Public Instance Methods
supine()
click to toggle source
# File lib/latinverb_irregular_participles_retriever/supine_inferrer.rb, line 10 def supine return {} unless accusative_supine {:ablative => ablative_supine, :accusative => accusative_supine} end
Private Instance Methods
ablative_supine()
click to toggle source
# File lib/latinverb_irregular_participles_retriever/supine_inferrer.rb, line 17 def ablative_supine return @ablative_supine if @ablative_supine return "" if ablative_supine_base.nil? String(ablative_supine_base + "ū") end
ablative_supine_base()
click to toggle source
# File lib/latinverb_irregular_participles_retriever/supine_inferrer.rb, line 23 def ablative_supine_base return nil if accusative_supine.nil? String(accusative_supine.sub(/^(.*)u(m)$/, "\\1")) end
accusative_supine()
click to toggle source
# File lib/latinverb_irregular_participles_retriever/supine_inferrer.rb, line 28 def accusative_supine split_participle_string = @perfect_passive_participle.split(/\s+/).first return nil if split_participle_string.nil? @accusative_supine ||= String(split_participle_string.sub(/s\z/,'m')) end