Sha256: f557822ee0a016ccb6862f7028bdd424e1a535bfacf5e2bce00d57c3f1482276

Contents?: true

Size: 663 Bytes

Versions: 2

Compression:

Stored size: 663 Bytes

Contents

# frozen-string-literal: true

module Leftovers
  module DynamicProcessors
    class Definition
      def initialize(matcher, processor)
        @matcher = matcher
        @processor = processor
      end

      def process(node, file)
        return if node.keep_line?
        return unless @matcher === node

        definitions = @processor.process(nil, node, node)

        ::Leftovers.each_or_self(definitions) do |definition|
          if definition.is_a?(DefinitionNodeSet)
            file.add_definition_set(definition)
          else
            file.add_definition(definition, loc: definition.loc)
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
leftovers-0.8.0 lib/leftovers/dynamic_processors/definition.rb
leftovers-0.7.0 lib/leftovers/dynamic_processors/definition.rb