Sha256: bf14af2ece97c4288062d5d75c5847f9e5daa7089bb594b512e63f202e2f2a76
Contents?: true
Size: 918 Bytes
Versions: 2
Compression:
Stored size: 918 Bytes
Contents
# Copyright (c) 2020 Jerome Arbez-Gindre # frozen_string_literal: true module DefMastership # modify one line after another class UpdateDefChecksumLineModifier < LineModifierBase attr_accessor :document def self.from_config(hash) new.from_config(hash) end def initialize super @config = { def_type: '' } end def replace(line) match = matched?(line) return line unless match return line unless match[:type] == def_type explicit_checksum_str = match[:explicit_checksum].nil? ? '' : "(#{match[:explicit_checksum]})" line.gsub("#{match[:reference]}#{explicit_checksum_str}") do "#{match[:reference]}(#{@document.ref_to_def(match[:reference]).sha256})" end end def matched?(line) return if line.commented? return unless line =~ DMRegexp::DEFINITION Regexp.last_match end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
defmastership-1.0.8 | lib/defmastership/update_def_checksum_line_modifier.rb |
defmastership-1.0.7 | lib/defmastership/update_def_checksum_line_modifier.rb |