def analyze_rules
if @has_permission
permissions_by_context_and_rules = @has_permission.inject({}) do |memo, permission|
key = [permission[:context], permission[:rules]]
memo[key] ||= []
memo[key] << permission
memo
end
permissions_by_context_and_rules.each do |key, rules|
if rules.length > 1
rule_lines = rules.collect {|rule| rule[:line] }
rules.each do |rule|
@analyzer.reports << Report.new(:mergeable_rules, "", rule[:line],
"Similar rules already in line(s) " +
rule_lines.reject {|l| l == rule[:line] } * ", ")
end
end
end
end
end