Sha256: 8c5f16a25ef0b9ab9b997c7043805bdee1be65615733cac05b2513bcc89449ea

Contents?: true

Size: 690 Bytes

Versions: 1

Compression:

Stored size: 690 Bytes

Contents

# encoding: utf-8

module EvalHelper
  # create each do code, for eval
  #
  # ==== Examples
  #
  #   class EvalHelperEacjBraceTest
  #     include EvalHelper
  #
  #     def hoge(hash)
  #       each_do_code(hash[:target], hash[:proc])
  #     end
  #   end
  #
  #   hash = {
  #     target: '[:a, :b]',
  #     proc: "puts \"\#{v}1\"\nputs \"\#{v}2\"\n",
  #   }
  #   EvalHelperEacjBraceTest.new.hoge(hash) # => return "[:a, :b].each do |v|\n  puts \"\#{v}1\"\n  puts \"\#{v}2\"\nend"
  #
  def each_do_code(target, proc)
    indented = proc.split("\n").reduce([]) { |a, e|a << "  #{e}"; a }.join("\n")
    "#{target}.each do |v|\n#{indented}\nend"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tbpgr_utils-0.0.151 lib/eval_helper/each_do_code.rb