class AbstractMapper::Rules::Sole

The abstract class that describes the rule to be applied to sole nodes.

The subclass should implement two instance methods:

@example

class RemoveEmptyList < AbstractMapper::Rules::Sole
  def optimize?
    node.is_a?(List) && node.empty?
  end

  def optimize
  end
end

@abstract

@api public

Attributes

node[R]

@!attribute [r] node

@return [AbstractMapper::AST::Node] The node to be optimized

Public Class Methods

new(node) click to toggle source

@private

Calls superclass method AbstractMapper::Rules::Base::new
# File lib/abstract_mapper/rules/sole.rb, line 51
def initialize(node)
  @node = node
  super
end

Private Class Methods

composer() click to toggle source

@private

# File lib/abstract_mapper/rules/sole.rb, line 31
def self.composer
  :filter
end