class NHKore::Missingno
@author Jonathan Bradley Whited @since 0.2.0
Attributes
kanas[R]
kanjis[R]
Public Class Methods
new(data)
click to toggle source
@param data [News,Article,Array<Word>]
Calls superclass method
# File lib/nhkore/missingno.rb, line 25 def initialize(data) super() @kanas = {} @kanjis = {} # News? if data.respond_to?(:articles) add_news(data) # Article? elsif data.respond_to?(:words) add_article(data) else add_words(data) end end
Public Instance Methods
add_article(article)
click to toggle source
# File lib/nhkore/missingno.rb, line 42 def add_article(article) add_words(article.words.values) end
add_news(news)
click to toggle source
# File lib/nhkore/missingno.rb, line 46 def add_news(news) news.articles.each_value do |article| add_article(article) end end
add_words(words)
click to toggle source
# File lib/nhkore/missingno.rb, line 52 def add_words(words) words.each do |word| # We only want ones that are both filled in because # Word.scrape_ruby_tag() will raise an error if either is empty. next if Util.empty_web_str?(word.kana) || Util.empty_web_str?(word.kanji) if !kanas.key?(word.kana) kanas[word.kana] = word end if !kanjis.key?(word.kanji) kanjis[word.kanji] = word end end end
kana_from_kanji(kanji)
click to toggle source
# File lib/nhkore/missingno.rb, line 68 def kana_from_kanji(kanji) word = @kanjis[kanji] return word.nil? ? nil : word.kana end
kanji_from_kana(kana)
click to toggle source
# File lib/nhkore/missingno.rb, line 74 def kanji_from_kana(kana) word = @kanas[kana] return word.nil? ? nil : word.kanji end