module Jkf
JSON Kifu Format
Constants
- VERSION
Gem version
Public Class Methods
parse(str)
click to toggle source
文字列からパースします。各パーサでパースに試みて成功した場合結果を返します。
@param [String] str
@return [Hash] JKF
# File lib/jkf.rb, line 39 def parse(str) parsers = [::Jkf::Parser::Kif.new, ::Jkf::Parser::Ki2.new, ::Jkf::Parser::Csa.new, JSON] result = nil parsers.each do |parser| begin result = parser.parse(str) rescue next end break end raise FileTypeError if result.nil? result end
parse_file(filename, encoding: "Shift_JIS")
click to toggle source
ファイルからパースします。拡張子でフォーマットの判定をします。
@param [String] filename
@return [String] KIF, KI2, CSA, JKF(JSON)
# File lib/jkf.rb, line 17 def parse_file(filename, encoding: "Shift_JIS") parser = case ::File.extname(filename) when /kif/ ::Jkf::Parser::Kif.new when /ki2/ ::Jkf::Parser::Ki2.new when /csa/ ::Jkf::Parser::Csa.new when /jkf|json/ JSON else raise FileTypeError end str = File.read(File.expand_path(filename), encoding: encoding).toutf8 parser.parse(str) end