class Faceter::Rules::MergeBranches

Merges two consecutive branches of the same type

@api private

Public Instance Methods

optimize() click to toggle source

@private

# File lib/faceter/rules/merge_branches.rb, line 23
def optimize
  __left_node__.new(__left_attributes__) { nodes.flat_map(&:entries) }
end
optimize?() click to toggle source

@private

# File lib/faceter/rules/merge_branches.rb, line 16
def optimize?
  left.is_a?(AbstractMapper::AST::Branch) &&
    right.class.equal?(__left_node__) &&
    right.attributes.eql?(__left_attributes__)
end

Private Instance Methods

__left_attributes__() click to toggle source
# File lib/faceter/rules/merge_branches.rb, line 33
def __left_attributes__
  left.attributes
end
__left_node__() click to toggle source
# File lib/faceter/rules/merge_branches.rb, line 29
def __left_node__
  left.class
end