56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# File 'lib/datasets/postal-code-japan.rb', line 56
def each(&block)
return to_enum(__method__) unless block_given?
open_data do |input|
utf8_data = input.read.encode(Encoding::UTF_8, Encoding::CP932)
options = {
quote_char: nil,
strip: %Q["],
}
if @reading == :romaji
CSV.parse(utf8_data, **options) do |row|
yield(Record.new(nil,
nil,
row[0],
row[4],
row[5],
row[6],
row[1],
row[2],
row[3],
false,
false,
false,
false,
false,
nil))
end
else
CSV.parse(utf8_data, **options) do |row|
yield(Record.new(row[0],
row[1].rstrip,
row[2],
row[3],
row[4],
row[5],
row[6],
row[7],
row[8],
(row[9] == "1"),
(row[10] == "1"),
(row[11] == "1"),
(row[12] == "1"),
(row[13] != "0"),
convert_change_reason(row[14])))
end
end
end
end
|