Sha256: 57af90371e3709d1942b22b5c76760340689431537bb5b1002cdb1529753bb57

Contents?: true

Size: 754 Bytes

Versions: 5

Compression:

Stored size: 754 Bytes

Contents

require 'term/ansicolor'

class String
  @@colorize = false

  class << self
    def colorize=(value)
      @@colorize = value
    end

    def colorize
      @@colorize
    end
  end # of class methods

  Term::ANSIColor::Attribute.named_attributes.map do |attribute|
    class_eval(<<-EOS, __FILE__, __LINE__ + 1)
      def #{attribute.name}
        if @@colorize
          Term::ANSIColor.send(#{attribute.name.inspect}, self)
        else
          self
        end
      end
    EOS
  end

  def camelcase
    self.split(/[-_]/).map {|str|
      str[0, 1].upcase + str[1..-1].downcase
    }.join
  end

  def encode64
    Base64.encode64(self).delete("\n")
  end

  def strip_lines
    self.strip.split("\n").map {|i| i.strip }.join("\n")
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kumogata-0.1.4 lib/kumogata/ext/string_ext.rb
kumogata-0.1.3 lib/kumogata/ext/string_ext.rb
kumogata-0.1.2 lib/kumogata/ext/string_ext.rb
kumogata-0.1.1 lib/kumogata/ext/string_ext.rb
kumogata-0.1.0 lib/kumogata/ext/string_ext.rb