Sha256: d27240ac974c8dcca03bb0e1c581b2bf81f3907ef9ba49b1e1c6ac0521832d3a

Contents?: true

Size: 820 Bytes

Versions: 4

Compression:

Stored size: 820 Bytes

Contents

class Errata
  class Erratum
    class Simplify < Erratum
      attr_accessor :second_column
      
      def initialize(errata, options = {})
        super
        @second_column = options[:x]
      end

      def inspect
        super + " second_column=#{second_column}>"
      end
      
      def targets?(row)
        !row[column].blank? and !row[second_column].blank? and conditions_match?(row) and matching_expression(row).match(row[column])
      end
      
      def correct!(row)
        super(row) do
          row[column].gsub!(matching_expression(row), '')
        end
      end
      
      def matching_expression(row)
        @_matching_expressions ||= {}
        @_matching_expressions[row[second_column]] ||= /[\s\(\[\'\"]*#{Regexp.escape(row[second_column])}[\s\)\]\'\"]*/
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
errata-0.2.4 lib/erratum/simplify.rb
errata-ruby19-0.2.3 lib/erratum/simplify.rb
errata-0.2.3 lib/erratum/simplify.rb
errata-0.2.2 lib/erratum/simplify.rb