Class: Eiwa::ParsesJmdictFile

Inherits:
Object
  • Object
show all
Defined in:
lib/eiwa/parses_jmdict_file.rb

Instance Method Summary collapse

Instance Method Details

#call(filename, each_entry_block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/eiwa/parses_jmdict_file.rb', line 6

def call(filename, each_entry_block)
  if each_entry_block.nil?
    entries = []
    each_entry_block ||= ->(e) { entries << e }
  end

  JmdictDoc.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