Sha256: 6e1f779584275d6fec4c5717acd4b81275b965db094fc9f07d41f2eff7bf2fdc

Contents?: true

Size: 574 Bytes

Versions: 2

Compression:

Stored size: 574 Bytes

Contents

# frozen_string_literal: true

require "refinements/pathname"

module Pragmater
  # Removes pragma comments.
  class Remover
    include Dependencies[:settings]

    using Refinements::Pathname

    def initialize(parser: Parsers::File.new, **)
      @parser = parser
      super(**)
    end

    def call
      Pathname(settings.root_dir).files("{#{settings.patterns.join ","}}").map do |path|
        yield path if block_given?
        path.write parser.call(path, settings.comments, action: :remove).join
      end
    end

    private

    attr_reader :parser
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pragmater-16.1.0 lib/pragmater/remover.rb
pragmater-16.0.0 lib/pragmater/remover.rb