Sha256: 113dab4d253ee541058e579d6f0c61a2f010ccbc2042fbd1ac0329a7a018b549

Contents?: true

Size: 716 Bytes

Versions: 35

Compression:

Stored size: 716 Bytes

Contents

# encoding: utf-8

# String
class String
  # stripe string.
  #
  # ==== Options
  #
  # * <tt>:lower_cap</tt> - start lower char.
  #
  # ==== Examples
  #
  # default case
  #
  #   'hoge'.stripe # => HoGe
  #
  # lower_cap case
  #
  #   'hoge'.stripe :lower_cap # => hOgE
  #
  # empty case
  #
  #   ''.stripe # => ''
  #
  # nil case
  #
  #   hoge = nil
  #   hoge.stripe # => nil
  #
  def stripe(cap = :upper_cap)
    updowns = %w(upcase downcase)
    index = cap == :lower_cap ? 1 : 0
    chars.reduce([]) do |ret, char|
      ret << char.send(updowns[index % 2])
      index += 1
      ret
    end.join
  end
end

class NilClass
  def stripe
    nil
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
tbpgr_utils-0.0.151 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.150 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.149 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.148 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.147 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.146 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.145 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.144 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.143 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.142 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.141 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.140 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.139 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.138 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.137 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.136 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.135 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.134 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.133 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.132 lib/open_classes/string/stripe.rb