Sha256: a6c8892259153132e87a5510f54b9bd2346da2b66044f1481f308aea8880044a

Contents?: true

Size: 642 Bytes

Versions: 96

Compression:

Stored size: 642 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module Avm
  module Files
    class TextReplacer
      require_sub __FILE__
      enable_immutable

      immutable_accessor :replacement, type: :array

      def apply(input)
        replacements.inject(input) { |a, e| e.apply(a) }
      end

      def file_apply(file)
        file = file.to_pathname
        input = file.read
        output = apply(file.read)
        return false if output == input

        file.write(output)
        true
      end

      def gsub(from, to)
        replacement(::Avm::Files::TextReplacer::Gsub.new(from, to))
      end
    end
  end
end

Version data entries

96 entries across 96 versions & 2 rubygems

Version Path
avm-files-0.8.1 lib/avm/files/text_replacer.rb
avm-files-0.8.0 lib/avm/files/text_replacer.rb
eac_tools-0.93.0 sub/avm-files/lib/avm/files/text_replacer.rb
avm-files-0.7.0 lib/avm/files/text_replacer.rb
eac_tools-0.85.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.84.2 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.84.1 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.84.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.83.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.82.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.81.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.80.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.79.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.78.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.77.1 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.77.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.76.1 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.76.0 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.75.2 sub/avm-files/lib/avm/files/text_replacer.rb
eac_tools-0.75.1 sub/avm-files/lib/avm/files/text_replacer.rb