Sha256: a699a3b251c96f819540c706762fecc8986831d08b9964ed02af3a1951ce1ad7

Contents?: true

Size: 569 Bytes

Versions: 7

Compression:

Stored size: 569 Bytes

Contents

# frozen_string_literal: true

module Synvert::Core
  # Condition checks if rules matches.
  class Rewriter::Condition
    # Initialize a condition.
    #
    # @param instance [Synvert::Core::Rewriter::Instance]
    # @param rules [Hash]
    # @param block [Block]
    # @return [Synvert::Core::Rewriter::Condition]
    def initialize(instance, rules, &block)
      @instance = instance
      @rules = rules
      @block = block
    end

    # If condition matches, run the block code.
    def process
      @instance.instance_eval &@block if match?
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
synvert-core-0.20.1 lib/synvert/core/rewriter/condition.rb
synvert-core-0.20.0 lib/synvert/core/rewriter/condition.rb
synvert-core-0.19.0 lib/synvert/core/rewriter/condition.rb
synvert-core-0.18.0 lib/synvert/core/rewriter/condition.rb
synvert-core-0.17.0 lib/synvert/core/rewriter/condition.rb
synvert-core-0.16.1 lib/synvert/core/rewriter/condition.rb
synvert-core-0.16.0 lib/synvert/core/rewriter/condition.rb