Sha256: ed9e686ef4881b1482420004f33ffd952f6d308c4881d22991d392d46bf01092
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
# encoding: utf-8 module EvalHelper # create times logic strings, for eval # # ==== Examples # # single_line_proc case # # class EvalHelperTimesTest # include EvalHelper # # def hoge(number, proc) # times_code(number, proc) # end # end # # hash = { # number: 2, # proc: 'puts "#{i}times"', # } # EvalHelperTimesTest.new.hoge(hash[:number], hash[:proc]) # # return # # 2.times { |i| puts "#{i}times" } # # multi_line_proc case # # class EvalHelperTimesTest # include EvalHelper # # def hoge(number, proc) # times_code(number, proc) # end # end # # hash = { # number: 3, # proc: 'puts "#{i}times"\nputs "#{i*2}times"', # } # EvalHelperTimesTest.new.hoge(hash[:number], hash[:proc]) # # return # # 3.times do |i| # puts "#{i}times" # puts "#{i*2}times" # end # def times_code(number, proc) return "#{number}.times { |i| #{proc} }" if proc.count('\n') == 0 indented = proc.split('\n').reduce([]) { |a, e|a << " #{e}"; a }.join("\n") <<-EOS #{number}.times do |i| #{indented} end EOS end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tbpgr_utils-0.0.151 | lib/eval_helper/times_code.rb |