Skip to content

Commit 76d1a14

Browse files
committed
Fix flag iterator each without given block.
1 parent 0cc7d43 commit 76d1a14

3 files changed

Lines changed: 12 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
## Unreleased
44

5-
- Fix file each message method and message iterator each method
6-
without given block.
5+
- Enable file each message method and message iterator each method
6+
flag iterator each method to run without given block.
77

88
## CRuby and mruby version 0.3.0 - 2026-03-17
99

mrblib/mrb_gettextpo_common.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,12 @@ def self.new # :nodoc:
141141
"please use other methods instead, such as GettextPO::Message#workflow_flag_iterator"
142142
end
143143

144-
def each # yields: flag
144+
# call-seq:
145+
# each { |flag| ... }
146+
# each -> Enumerator
147+
def each
148+
block_given? or return enum_for
149+
145150
while true
146151
begin
147152
yield self.next

test/flag.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@
66
file = GettextPO::File.new
77
message = file.message_iterator.insert('msgid1', 'msgstr1')
88
message.respond_to?(:update_workflow_flag) or next true
9+
910
message.update_workflow_flag('fuzzy')
1011
iter = message.workflow_flag_iterator
1112
assert_equal 'fuzzy', iter.next
1213
assert_raise StopIteration do
1314
iter.next
1415
end
1516

17+
assert_equal ['fuzzy'], message.workflow_flag_iterator.each.to_a
18+
1619
message.update_sticky_flag('no-wrap')
1720
iter = message.sticky_flag_iterator
1821
assert_equal ['no-wrap'], iter.to_a
22+
1923
true
2024
end

0 commit comments

Comments
 (0)