Module: Katsuyoujin
- Defined in:
- lib/katsuyoujin.rb,
lib/katsuyoujin/base.rb,
lib/katsuyoujin/verb.rb,
lib/katsuyoujin/version.rb,
lib/katsuyoujin/analyzer.rb
Defined Under Namespace
Classes: Analyzer, Base, Verb
Constant Summary
collapse
- VERSION =
'0.0.2.1'
Class Method Summary
collapse
Class Method Details
.conjugate(word, *args, category: nil, hiragana: true) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/katsuyoujin.rb', line 9
def self.conjugate(word, *args, category: nil, hiragana: true)
verb = Verb.new word
vcat = category || verb.category
vcat = 'irregular' if ['kuru', 'suru'].include?(vcat)
rules = args.inject(ruleset("#{vcat}/conjugations")) { |a, e| a[e] || {} }
return unless rules['base']
base = Base.new(verb, rules['base']).conjugate category: category, hiragana: hiragana
base + rules['attachment']
end
|
.ruleset(rule) ⇒ Object
22
23
24
|
# File 'lib/katsuyoujin.rb', line 22
def self.ruleset(rule)
YAML.load_file(File.join(File.dirname(__dir__), 'rules', "#{rule}.yml"))
end
|