class KanjiReader::Perform
Attributes
application_id[RW]
grade[RW]
hiragana[RW]
kanji[RW]
roma[RW]
uri[RW]
Public Class Methods
new(application_id, kanji, options={})
click to toggle source
# File lib/KanjiReader.rb, line 20 def initialize(application_id, kanji, options={}) @application_id = application_id grade = GRADE_HASH[:basic] if GRADE_HASH[options[:grade]] @uri = URI.escape "https://jlp.yahooapis.jp/FuriganaService/V1/furigana?appid=#{application_id}&grade=#{grade}&sentence=#{kanji}" conn = Faraday::Connection.new(:url => uri) do |builder| builder.use Faraday::Request::UrlEncoded builder.use Faraday::Response::Logger builder.use Faraday::Adapter::NetHttp end xml = conn.get(uri).body base_path = '//Result//WordList//Word' xml_doc = Nokogiri::XML(xml).remove_namespaces! @kanji = xml_doc.xpath(base_path + '//Surface').text @hiragana = xml_doc.xpath(base_path + '//Furigana').text @roma = xml_doc.xpath(base_path + '//Roman').text end
Public Instance Methods
katakana()
click to toggle source
# File lib/KanjiReader.rb, line 42 def katakana NKF.nkf('-w --katakana', self.hiragana) end