Sha256: 6ef95a371f5e9a0d3a10a9cc836900824deada18d008b6b2bbda9e774903a515

Contents?: true

Size: 716 Bytes

Versions: 71

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

71 entries across 71 versions & 1 rubygems

Version Path
tbpgr_utils-0.0.116 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.115 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.114 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.113 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.112 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.111 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.110 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.109 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.108 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.107 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.106 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.105 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.104 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.103 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.102 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.101 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.100 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.99 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.98 lib/open_classes/string/stripe.rb
tbpgr_utils-0.0.97 lib/open_classes/string/stripe.rb