Sha256: 51f2c0b0340cbc51d54cc3a8a7ccf35c6ce5a11bcef0ba4fdf27dac3824ea9be

Contents?: true

Size: 616 Bytes

Versions: 10

Compression:

Stored size: 616 Bytes

Contents

class String;
  def /(s)
    File.join(self, s)
  end

  def blank?
    self == ""
  end

  # Taken from Rails
  def classify
    string = self.underscore
    string = string.sub(/^[a-z\d]*/) { $&.capitalize }
    string.gsub(/(?:_|(\/))([a-z\d]*)/i) { $2.capitalize }.gsub('/', '::')
  end

  def underscore 
    word = self.dup
    word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
    word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
    word.tr!("-", "_")
    word.downcase!
    word
  end

  def dasherize
    self.underscore.gsub(/_/, '-')
  end

  def to_screen_name
    self.classify.sub(/(screen)*$/i, 'Screen')
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
tres-0.1.10 lib/ext/string.rb
tres-0.1.9 lib/ext/string.rb
tres-0.1.8 lib/ext/string.rb
tres-0.1.7 lib/ext/string.rb
tres-0.1.6 lib/ext/string.rb
tres-0.1.5 lib/ext/string.rb
tres-0.1.4 lib/ext/string.rb
tres-0.1.2 lib/ext/string.rb
tres-0.1.1 lib/ext/string.rb
tres-0.1.0 lib/ext/string.rb