Module: Useful::RubyExtensionsFromRails::String

Included in:
String
Defined in:
lib/useful/ruby_extensions_from_rails/string.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



6
7
8
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 6

def self.included(klass)
  klass.extend(ClassMethods) if klass.kind_of?(Class)
end

Instance Method Details

#camelize(first_letter = :upper) ⇒ Object Also known as: camelcase

ClassMethods



122
123
124
125
126
127
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 122

def camelize(first_letter = :upper)
  case first_letter
    when :upper then ::String.camelize(self, true)
    when :lower then ::String.camelize(self, false)
  end
end

#classifyObject



142
143
144
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 142

def classify
  self.class.classify(self)
end

#constantizeObject



146
147
148
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 146

def constantize
  self.class.constantize(self)
end

#dasherizeObject



134
135
136
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 134

def dasherize
  self.class.dasherize(self)
end

#demodulizeObject



138
139
140
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 138

def demodulize
  self.class.demodulize(self)
end

#ends_with?(suffix) ⇒ Boolean

Returns:

  • (Boolean)


150
151
152
153
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 150

def ends_with?(suffix)
  suffix = suffix.to_s
  self[-suffix.length, suffix.length] == suffix      
end

#starts_with?(prefix) ⇒ Boolean

Returns:

  • (Boolean)


155
156
157
158
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 155

def starts_with?(prefix)
  prefix = prefix.to_s
  self[0, prefix.length] == prefix
end

#to_dateObject



164
165
166
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 164

def to_date
  ::Date.civil(*::Date._parse(self, false).values_at(:year, :mon, :mday).map { |arg| arg || 0 }) rescue nil
end

#to_datetimeObject



160
161
162
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 160

def to_datetime
  ::DateTime.civil(*::Date._parse(self, false).values_at(:year, :mon, :mday, :hour, :min, :sec).map { |arg| arg || 0 }) rescue nil
end

#underscoreObject



130
131
132
# File 'lib/useful/ruby_extensions_from_rails/string.rb', line 130

def underscore
  self.class.underscore(self)
end