Sha256: d8c848ffb8b53b259226338dd172f501a7c9254e4c4d57faa3ebf8287d4d9920

Contents?: true

Size: 817 Bytes

Versions: 12

Compression:

Stored size: 817 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module ValueProcessors
    class AddDynamicSuffix
      def initialize(suffix_processor, then_processor)
        @suffix_processor = suffix_processor
        @then_processor = then_processor

        freeze
      end

      def process(str, node, method_node) # rubocop:disable Metrics/MethodLength
        return unless str

        suffixes = @suffix_processor.process(nil, method_node, method_node)
        if suffixes.is_a?(Array)
          suffixes.flatten!
          suffixes.compact!
          suffixes.uniq!

          suffixes.map do |suffix|
            @then_processor.process("#{str}#{suffix}", node, method_node)
          end
        else
          @then_processor.process("#{str}#{suffixes}", node, method_node)
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
leftovers-0.7.0 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.6.0 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.5 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.4 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.3 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.2 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.1 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.5.0 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.4.3 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.4.2 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.4.1 lib/leftovers/value_processors/add_dynamic_suffix.rb
leftovers-0.4.0 lib/leftovers/value_processors/add_dynamic_suffix.rb