Module: Humanized::KNG

Included in:
English, German
Defined in:
lib/humanized/interpolation/kng.rb

Defined Under Namespace

Classes: KNGWrapper

Instance Method Summary collapse

Instance Method Details

#g(humanizer, genus, *args) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/humanized/interpolation/kng.rb', line 61

def g(humanizer, genus, *args)
  if args.size == 3
    # male, female, neutral
    genus = x_to_genus(humanizer, genus)
    a = [:male,:female,:neutral].zip(args)
    if genus.kind_of? Set
      return genus.map{|g| a.assoc(g)[1] }
    end
    return a.assoc(genus)[1]
  end
end

#kn(humanizer, kasus, numerus, *args) ⇒ Object



82
83
84
85
86
87
88
89
# File 'lib/humanized/interpolation/kng.rb', line 82

def kn(humanizer, kasus, numerus, *args)
  if args.size == 2
    # singular, plural
    return args[ x_to_numerus(humanizer, numerus) == :singular ? 0 : 1 ]
  elsif args.size == 1
    return KNGWrapper.wrap(args, humanizer, x_to_kasus(humanizer, kasus), x_to_numerus(humanizer, numerus))
  end
end

#kng(humanizer, kasus, numerus, genus, *args) ⇒ Object



92
93
94
95
96
97
98
99
# File 'lib/humanized/interpolation/kng.rb', line 92

def kng(humanizer, kasus, numerus, genus,*args)
  if args.size == 2
    # singular, plural
    return args[ x_to_numerus(humanizer, numerus) == :singular ? 0 : 1 ]
  elsif args.size == 1
    return KNGWrapper.wrap(args, humanizer, x_to_kasus(humanizer, kasus), x_to_numerus(humanizer, numerus), x_to_genus(humanizer, genus))
  end
end

#kongruent(humanizer, from, *args) ⇒ Object



101
102
103
# File 'lib/humanized/interpolation/kng.rb', line 101

def kongruent(humanizer, from, *args)
  return KNGWrapper.wrap(args, humanizer, x_to_kasus(humanizer, from), x_to_numerus(humanizer, from), x_to_genus(humanizer, from))
end

#n(humanizer, numerus, *args) ⇒ Object



73
74
75
76
77
78
79
80
# File 'lib/humanized/interpolation/kng.rb', line 73

def n(humanizer, numerus, *args)
  if args.size == 2
    # singular, plural
    return args[ x_to_numerus(humanizer, numerus) == :singular ? 0 : 1 ]
  elsif args.size == 1
    return KNGWrapper.wrap(args, humanizer, meta_class.const_get(:KASUS).first.to_sym, x_to_numerus(humanizer, numerus))
  end
end