Sha256: 79c3024ade79dc543ce28e4c29665a5de1c64c3568b97b46de62369715685bca
Contents?: true
Size: 963 Bytes
Versions: 28
Compression:
Stored size: 963 Bytes
Contents
# frozen_string_literal: true module Synvert::Core # ReplaceErbStmtWithExprAction to replace erb stmt code to expr, # @example # e.g. <% form_for ... %> => <%= form_for ... %>. class Rewriter::ReplaceErbStmtWithExprAction < NodeMutation::Action # Initialize a ReplaceErbStmtWithExprAction. # # @param node [Synvert::Core::Rewriter::Node] # @param erb_source [String] # @param adapter [NodeMutation::Adapter] def initialize(node, erb_source, adapter:) super(node, nil, adapter: adapter) @erb_source = erb_source @type = :insert end # The new erb expr code. # # @return [String] new code. def new_code '=' end private # Calculate the begin the end positions. def calculate_position @start = @adapter.get_start(@node) loop do @start -= 1 break if @erb_source[@start] == '%' end @start += 1 @end = @start end end end
Version data entries
28 entries across 28 versions & 1 rubygems