Module: Kernel
- Defined in:
- lib/latinirb/latinirb_paradigmatic_verbs.rb
Constant Summary collapse
- LatinVerb =
Linguistics::Latin::Verb::LatinVerb
Instance Method Summary collapse
- #chart(latin_verb = nil) ⇒ Object
- #is_latinverb?(possible_latin_verb) ⇒ Boolean
- #load_seedfile ⇒ Object (also: #s)
- #verb_for_string(verb_string) ⇒ Object (also: #v)
Instance Method Details
#chart(latin_verb = nil) ⇒ Object
22 23 24 25 26 |
# File 'lib/latinirb/latinirb_paradigmatic_verbs.rb', line 22 def chart(latin_verb=nil) puts "USAGE: chart (a_latin_verb|latin_verb_string)" if latin_verb.nil? verb = is_latinverb?(latin_verb) ? latin_verb : verb_for_string(latin_verb) puts Linguistics::Latin::Verb::LatinVerb::ChartPresenter.new(verb).chart end |
#is_latinverb?(possible_latin_verb) ⇒ Boolean
28 29 30 |
# File 'lib/latinirb/latinirb_paradigmatic_verbs.rb', line 28 def is_latinverb?(possible_latin_verb) possible_latin_verb.methods.any?{|m| m.match(/.*voice.*mood.*tense/)} end |
#load_seedfile ⇒ Object Also known as: s
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/latinirb/latinirb_paradigmatic_verbs.rb', line 40 def load_seedfile if File.exists?("seedfile.txt") File.open("seedfile.txt") .readlines .to_a .filter { |e| e =~ /\w+/ } .reduce(SEED) do |memo, l| k, v = l.split(':') memo[k] = verb_for_string(v) memo end end keys = SEED.keys if keys.count > 0 && keys.count < 10 puts "Imported #{SEED.keys.count} items:" keys.each { |k| puts k } end end |
#verb_for_string(verb_string) ⇒ Object Also known as: v
32 33 34 35 36 37 38 |
# File 'lib/latinirb/latinirb_paradigmatic_verbs.rb', line 32 def verb_for_string(verb_string) if verb_string !~ /\\/ raise ArgumentError.new "No \\ characters detected in #{verb_string}. Use single-quote to ensure they aren't escaped." end macronized_string = Text::Latex::Util::Macronconversions.convert(verb_string, 'mc').gsub(',', '') Linguistics::Latin::Verb::LatinVerb.new(macronized_string) end |