in lib/twitter_cldr/transforms/rule_set.rb [33:70]
def partition(rules)
[].tap do |result|
until rules.empty?
filter_rule = nil
inverse_filter_rule = nil
if is_forward_filter?(rules[0])
filter_rule = rules[0]
rules.shift
end
trans_rules = take_transforms(rules)
conv_rules = take_conversions(rules)
result.concat(trans_rules)
if !rules.empty? && is_backward_filter?(rules[0])
inverse_filter_rule = rules[0]
rules.shift
end
unless conv_rules.empty?
result << make_conversion_rule_set(
conv_rules, filter_rule, inverse_filter_rule
)
end
if trans_rules.empty? && conv_rules.empty?
result << rules.delete_at(0)
end
end
end
end