Sha256: 1a1cc265c43f3e44f7eb0608add2201d0289ef7f92db6cb17ca765c1d4310512

Contents?: true

Size: 1.03 KB

Versions: 222

Compression:

Stored size: 1.03 KB

Contents

module Generator
  class ExerciseCase
    module CaseHelpers
      protected

      # indent multi line workloads
      #
      #   indent_lines(
      #     [
      #       "string = #{input.inspect}",
      #       "#{assert} Isogram.is_isogram?(string)"
      #     ], 4
      #   )
      def indent_lines(code, depth, separator = "\n")
        code.join(separator + ' ' * depth)
      end

      # indent multi line workloads with (unindented) blank lines
      #
      #   indent_text(4, text)
      def indent_text(depth, text)
        text.lines.reduce do |obj, line|
          obj << (line == "\n" ? line : ' ' * depth + line)
        end
      end

      # generate heredoc (as part of workload) with optional indentation
      #
      #    indent_heredoc(["foo", "bar"], 'TEXT', 1)
      def indent_heredoc(lines, delimiter, depth = 0, delimiter_method = nil)
        [
          "<<-#{delimiter}#{delimiter_method}",
          lines.map { |line| ' ' * depth + line }.join("\n"),
          delimiter
        ].join("\n")
      end
    end
  end
end

Version data entries

222 entries across 222 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.158 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.157 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.156 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.155 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.154 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.153 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.152 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.151 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.150 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.149 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.148 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.147 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.146 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.145 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.144 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.143 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.142 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.141 tracks/ruby/lib/generator/exercise_case/case_helpers.rb
trackler-2.2.1.140 tracks/ruby/lib/generator/exercise_case/case_helpers.rb