Sha256: 32289da1f112597d6cbfc10487f0bd79e0b502b83e1399e6f854d6cc1c6a20a0

Contents?: true

Size: 873 Bytes

Versions: 1

Compression:

Stored size: 873 Bytes

Contents

class String
  def squish!
    gsub!(/[[:space:]]+/, " ")
    strip!
    self
  end

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

  def sql_quote
    "'#{self.gsub('\\', '\&\&').gsub("'", "''")}'"
  end
end

class TrueClass
  def sql_quote
    "TRUE"
  end
end

class FalseClass
  def sql_quote
    "FALSE"
  end
end

class NilClass
  def sql_quote
    "IS NULL"
  end
end

class Integer
  def sql_quote
    self
  end
end

class Float
  def sql_quote
    self
  end
end

class Date
  def self.parsable?(string)
    begin
      parse(string)
      true
    rescue ArgumentError
      false
    end
  end
end

class DateTime
  def self.parsable?(string)
    begin
      parse(string)
      true
    rescue ArgumentError
      false
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stairwell-0.1.1 lib/stairwell/core_extensions/core.rb