class Eiwa::ParsesFile
Public Instance Methods
call(filename, type, each_entry_block)
click to toggle source
# File lib/eiwa/parses_file.rb, line 7 def call(filename, type, each_entry_block) if each_entry_block.nil? entries = [] each_entry_block ||= ->(e) { entries << e } end doc_for(type).new(each_entry_block).tap do |doc| Nokogiri::XML::SAX::Parser.new(doc).parse_file(filename) do |ctx| ctx.recovery = true end end entries end
Private Instance Methods
doc_for(type)
click to toggle source
# File lib/eiwa/parses_file.rb, line 24 def doc_for(type) case type when :jmdict_e Jmdict::Doc when :kanjidic2 Kanjidic::Doc else raise Eiwa::Error.new("Unknown file type: #{type}") end end