lib/core/facets/string/align.rb in facets-2.1.3 vs lib/core/facets/string/align.rb in facets-2.2.0

- old
+ new

@@ -1,102 +1,92 @@ -# TITLE: -# -# String Alignment Extensions -# -# SUMMARY: -# -# String extensions for alignment. -# -# CREDIT: -# -# - Thomas Sawyer - class String # Align a string to the right. # The defualt alignment seperation is a new line ("/n") # This can be changes as can be the padding string which # defaults to a single space (' '). + # + # s = <<-EOS + # This is a test + # and + # so on + # EOS + # + # puts s.align_right(2) + # + # _produces_ + # + # This is a test + # and + # so on + # + # CREDIT: Trans - def align_right( n, sep="\n", c=' ' ) + def align_right(n, sep="\n", c=' ') return rjust(n.to_i,c.to_s) if sep==nil q = split(sep.to_s).collect { |line| line.rjust(n.to_i,c.to_s) } q.join(sep.to_s) end # Align a string to the left. + # # The defualt alignment seperation is a new line ("/n") # This can be changes as can be the padding string which # defaults to a single space (' '). + # + # s = <<-EOS + # This is a test + # and + # so on + # EOS + # + # puts s.align_left(2) + # + # _produces_ + # + # This is a test + # and + # so on + # + # CREDIT: Trans - def align_left( n, sep="\n", c=' ' ) + def align_left(n, sep="\n", c=' ') return ljust(n.to_i,c.to_s) if sep==nil q = split(sep.to_s).collect { |line| line.ljust(n.to_i,c.to_s) } q.join(sep.to_s) end # Centers each line of a string. # + # The defualt alignment seperation is a new line ("/n") + # This can be changed as can be the padding string which + # defaults to a single space (' '). + # # s = <<-EOS - # This is a test - # and - # so on + # This is a test + # and + # so on # EOS + # # puts s.align_center(14) # # _produces_ # # This is a test # and # so on # - # Align a string to the center. - # The defualt alignment seperation is a new line ("/n") - # This can be changed as can be the padding string which - # defaults to a single space (' '). + # CREDIT: Trans - def align_center( n, sep="\n", c=' ' ) + def align_center(n, sep="\n", c=' ') return center(n.to_i,c.to_s) if sep==nil q = split(sep.to_s).collect { |line| line.center(n.to_i,c.to_s) } q.join(sep.to_s) end - # Deprecated alias for #align_center. - #alias_method :center_lines, :align_center end - - - - -# _____ _ -# |_ _|__ ___| |_ -# | |/ _ \/ __| __| -# | | __/\__ \ |_ -# |_|\___||___/\__| -# -=begin test - - require 'test/unit' - - class TestStringAlign < Test::Unit::TestCase - - def test_align_right - assert_equal( " xxx", "xxx".align_right(9) ) - end - - def test_align_left - assert_equal( "xxx ", "xxx".align_left(9) ) - end - - def test_align_center - assert_equal( " xxx ", "xxx".align_center(9) ) - end - - end - -=end