module Myasorubka::AOT::Tags::Russian

Russian language helpers.

Public Class Methods

animate(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 26
def self.animate(msd, grammemes)
  msd[:animate] = if grammemes.include? 'од'
    :yes
  elsif grammemes.include? 'но'
    :no
  end
  msd
end
aspect(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 71
def self.aspect(msd, grammemes)
  msd[:aspect] = if grammemes.include? 'св'
    :perfective
  elsif grammemes.include? 'нс'
    :progressive
  end
  msd
end
case(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 44
def self.case(msd, grammemes)
  msd[:case] = if grammemes.include? 'им'
    :nominative
  elsif grammemes.include? 'рд'
    :genitive
  elsif grammemes.include? 'дт'
    :dative
  elsif grammemes.include? 'вн'
    :accusative
  elsif grammemes.include? 'тв'
    :instrumental
  elsif grammemes.include? 'пр'
    :locative
  elsif grammemes.include? 'зв'
    :vocative
  end
  msd
end
case2(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 63
def self.case2(msd, grammemes)
  if grammemes.include? '2'
    msd[:case2] = :partitive if :genitive == msd[:case]
    msd[:case2] = :locative if :locative == msd[:case]
  end
  msd
end
definiteness(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 115
def self.definiteness(msd, grammemes)
  msd[:definiteness] = if grammemes.include? 'кр'
    :short_art
  end
  msd
end
degree(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 122
def self.degree(msd, grammemes)
  msd[:degree] = if grammemes.include? 'сравн'
    :comparative
  elsif grammemes.include? 'прев'
    :superlative
  end
  msd
end
gender(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 13
def self.gender(msd, grammemes)
  msd[:gender] = if grammemes.include? 'мр'
    :masculine
  elsif grammemes.include? 'жр'
    :feminine
  elsif grammemes.include? 'ср'
    :neuter
  elsif grammemes.include? 'мр-жр'
    :common
  end
  msd
end
number(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 35
def self.number(msd, grammemes)
  msd[:number] = if grammemes.include? 'ед'
    :singular
  elsif grammemes.include? 'мн'
    :plural
  end
  msd
end
person(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 102
def self.person(msd, grammemes)
  msd[:person] = if grammemes.include? '1л'
    :first
  elsif grammemes.include? '2л'
    :second
  elsif grammemes.include? '3л'
    :third
  elsif grammemes.include? 'безл'
    nil
  end
  msd
end
tense(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 91
def self.tense(msd, grammemes)
  msd[:tense] = if grammemes.include? 'нст'
    :present
  elsif grammemes.include? 'прш'
    :past
  elsif grammemes.include? 'буд'
    :future
  end
  msd
end
voice(msd, grammemes) click to toggle source
# File lib/myasorubka/aot/tags.rb, line 80
def self.voice(msd, grammemes)
  msd[:voice] = if grammemes.include? 'дст'
    :active
  elsif grammemes.include? 'стр'
    :passive
  elsif :verb == msd[:pos]
    :medial
  end
  msd
end