Class: String

### Home Classes Methods

### In Files

- lib/sequel/core_sql.rb
- lib/sequel/extensions/blank.rb
- lib/sequel/extensions/sql_expr.rb
- lib/sequel/extensions/string_date_time.rb
- lib/sequel/extensions/inflector.rb

### Parent

Object

### Namespace

- MODULE String::Inflections

### Methods

- ::inflections
- #blank?
- #camelcase
- #camelize
- #classify
- #constantize
- #dasherize
- #demodulize
- #foreign_key
- #humanize
- #lit
- #pluralize
- #singularize
- #sql_expr
- #tableize
- #titlecase
- #titleize
- #to_date
- #to_datetime
- #to_sequel_blob
- #to_sequel_time
- #to_time
- #underscore

### Included Modules

- Sequel::SQL::AliasMethods
- Sequel::SQL::CastMethods

### Files

- CHANGELOG
- COPYING
- README.rdoc
- advanced_associations.rdoc
- association_basics.rdoc
- cheat_sheet.rdoc
- dataset_basics.rdoc
- dataset_filtering.rdoc
- migration.rdoc
- model_hooks.rdoc
- opening_databases.rdoc
- prepared_statements.rdoc
- querying.rdoc
- reflection.rdoc
- 1.0.txt
- 1.1.txt
- 1.3.txt
- 1.4.0.txt
- 1.5.0.txt
- 2.0.0.txt
- 2.1.0.txt
- 2.10.0.txt
- 2.11.0.txt
- 2.12.0.txt
- 2.2.0.txt
- 2.3.0.txt
- 2.4.0.txt
- 2.5.0.txt
- 2.6.0.txt
- 2.7.0.txt
- 2.8.0.txt
- 2.9.0.txt
- 3.0.0.txt
- 3.1.0.txt
- 3.10.0.txt
- 3.11.0.txt
- 3.12.0.txt
- 3.2.0.txt
- 3.3.0.txt
- 3.4.0.txt
- 3.5.0.txt
- 3.6.0.txt
- 3.7.0.txt
- 3.8.0.txt
- 3.9.0.txt
- sharding.rdoc
- sql.rdoc
- virtual_rows.rdoc

### Class/Module Index

Quicksearch

- Sequel
- Sequel::ADO
- Sequel::ADO::Database
- Sequel::ADO::Dataset
- Sequel::ADO::MSSQL
- Sequel::ADO::MSSQL::DatabaseMethods
- Sequel::ADO::MSSQL::Dataset
- Sequel::AdapterNotFound
- Sequel::Amalgalite
- Sequel::Amalgalite::Database
- Sequel::Amalgalite::Dataset
- Sequel::Amalgalite::SequelTypeMap
- Sequel::BasicObject
- Sequel::BeforeHookFailed
- Sequel::ConnectionPool
- Sequel::ConnectionPool::ClassMethods
- Sequel::DB2
- Sequel::DB2::Database
- Sequel::DB2::Dataset
- Sequel::DBI
- Sequel::DBI::Database
- Sequel::DBI::Dataset
- Sequel::DataObjects
- Sequel::DataObjects::Database
- Sequel::DataObjects::Dataset
- Sequel::DataObjects::MySQL
- Sequel::DataObjects::MySQL::DatabaseMethods
- Sequel::DataObjects::MySQL::Dataset
- Sequel::DataObjects::Postgres
- Sequel::DataObjects::Postgres::AdapterMethods
- Sequel::DataObjects::Postgres::DatabaseMethods
- Sequel::DataObjects::Postgres::Dataset
- Sequel::DataObjects::SQLite
- Sequel::DataObjects::SQLite::DatabaseMethods
- Sequel::DataObjects::SQLite::Dataset
- Sequel::Database
- Sequel::DatabaseConnectionError
- Sequel::DatabaseDisconnectError
- Sequel::DatabaseError
- Sequel::Dataset
- Sequel::Dataset::ArgumentMapper
- Sequel::Dataset::Pagination
- Sequel::Dataset::PreparedStatementMethods
- Sequel::Dataset::QueryBlockCopy
- Sequel::Dataset::StoredProcedureMethods
- Sequel::Dataset::StoredProcedures
- Sequel::Dataset::UnnumberedArgumentMapper
- Sequel::Error
- Sequel::Error::AdapterNotFound
- Sequel::Error::InvalidOperation
- Sequel::Error::InvalidValue
- Sequel::Error::PoolTimeoutError
- Sequel::Error::Rollback
- Sequel::Firebird
- Sequel::Firebird::Database
- Sequel::Firebird::Dataset
- Sequel::Inflections
- Sequel::Informix
- Sequel::Informix::Database
- Sequel::Informix::Dataset
- Sequel::IntegerMigrator
- Sequel::InvalidOperation
- Sequel::InvalidValue
- Sequel::JDBC
- Sequel::JDBC::AS400
- Sequel::JDBC::AS400::DatabaseMethods
- Sequel::JDBC::AS400::Dataset
- Sequel::JDBC::Database
- Sequel::JDBC::Dataset
- Sequel::JDBC::Dataset::PreparedStatementMethods
- Sequel::JDBC::Dataset::StoredProcedureMethods
- Sequel::JDBC::H2
- Sequel::JDBC::H2::DatabaseMethods
- Sequel::JDBC::H2::Dataset
- Sequel::JDBC::JavaLang
- Sequel::JDBC::JavaSQL
- Sequel::JDBC::JavaxNaming
- Sequel::JDBC::MSSQL
- Sequel::JDBC::MSSQL::DatabaseMethods
- Sequel::JDBC::MSSQL::Dataset
- Sequel::JDBC::MySQL
- Sequel::JDBC::MySQL::DatabaseMethods
- Sequel::JDBC::MySQL::Dataset
- Sequel::JDBC::Oracle
- Sequel::JDBC::Oracle::DatabaseMethods
- Sequel::JDBC::Oracle::Dataset
- Sequel::JDBC::Postgres
- Sequel::JDBC::Postgres::AdapterMethods
- Sequel::JDBC::Postgres::DatabaseMethods
- Sequel::JDBC::Postgres::Dataset
- Sequel::JDBC::SQLite
- Sequel::JDBC::SQLite::DatabaseMethods
- Sequel::JDBC::SQLite::Dataset
- Sequel::LiteralString
- Sequel::LooserTypecasting
- Sequel::MSSQL
- Sequel::MSSQL::DatabaseMethods
- Sequel::MSSQL::DatasetMethods
- Sequel::Metaprogramming
- Sequel::Migration
- Sequel::MigrationDSL
- Sequel::Migrator
- Sequel::Migrator::Error
- Sequel::Model
- Sequel::Model::Associations
- Sequel::Model::Associations::AssociationDatasetMethods
- Sequel::Model::Associations::AssociationReflection
- Sequel::Model::Associations::ClassMethods
- Sequel::Model::Associations::DatasetMethods
- Sequel::Model::Associations::InstanceMethods
- Sequel::Model::Associations::ManyToManyAssociationReflection
- Sequel::Model::Associations::ManyToOneAssociationReflection
- Sequel::Model::Associations::OneToManyAssociationReflection
- Sequel::Model::Associations::OneToOneAssociationReflection
- Sequel::Model::ClassMethods
- Sequel::Model::DatasetMethods
- Sequel::Model::Errors
- Sequel::Model::InstanceMethods
- Sequel::MySQL
- Sequel::MySQL::Database
- Sequel::MySQL::DatabaseMethods
- Sequel::MySQL::Dataset
- Sequel::MySQL::Dataset::CallableStatementMethods
- Sequel::MySQL::Dataset::PreparedStatementMethods
- Sequel::MySQL::Dataset::StoredProcedureMethods
- Sequel::MySQL::DatasetMethods
- Sequel::NamedTimezones
- Sequel::NoExistingObject
- Sequel::NotImplemented
- Sequel::ODBC
- Sequel::ODBC::Database
- Sequel::ODBC::Dataset
- Sequel::ODBC::MSSQL
- Sequel::ODBC::MSSQL::DatabaseMethods
- Sequel::ODBC::MSSQL::Dataset
- Sequel::OpenBase
- Sequel::OpenBase::Database
- Sequel::OpenBase::Dataset
- Sequel::Oracle
- Sequel::Oracle::Database
- Sequel::Oracle::DatabaseMethods
- Sequel::Oracle::Dataset
- Sequel::Oracle::DatasetMethods
- Sequel::Plugins
- Sequel::Plugins::ActiveModel
- Sequel::Plugins::ActiveModel::InstanceMethods
- Sequel::Plugins::AssociationDependencies
- Sequel::Plugins::AssociationDependencies::ClassMethods
- Sequel::Plugins::AssociationDependencies::InstanceMethods
- Sequel::Plugins::AssociationPks
- Sequel::Plugins::AssociationPks::ClassMethods
- Sequel::Plugins::AssociationProxies
- Sequel::Plugins::AssociationProxies::AssociationProxy
- Sequel::Plugins::AssociationProxies::ClassMethods
- Sequel::Plugins::BooleanReaders
- Sequel::Plugins::BooleanReaders::ClassMethods
- Sequel::Plugins::Caching
- Sequel::Plugins::Caching::ClassMethods
- Sequel::Plugins::Caching::InstanceMethods
- Sequel::Plugins::ClassTableInheritance
- Sequel::Plugins::ClassTableInheritance::ClassMethods
- Sequel::Plugins::ClassTableInheritance::InstanceMethods
- Sequel::Plugins::Composition
- Sequel::Plugins::Composition::ClassMethods
- Sequel::Plugins::Composition::InstanceMethods
- Sequel::Plugins::ForceEncoding
- Sequel::Plugins::ForceEncoding::ClassMethods
- Sequel::Plugins::ForceEncoding::InstanceMethods
- Sequel::Plugins::HookClassMethods
- Sequel::Plugins::HookClassMethods::ClassMethods
- Sequel::Plugins::HookClassMethods::InstanceMethods
- Sequel::Plugins::IdentityMap
- Sequel::Plugins::IdentityMap::ClassMethods
- Sequel::Plugins::IdentityMap::InstanceMethods
- Sequel::Plugins::InstanceFilters
- Sequel::Plugins::InstanceFilters::InstanceMethods
- Sequel::Plugins::InstanceHooks
- Sequel::Plugins::InstanceHooks::InstanceMethods
- Sequel::Plugins::LazyAttributes
- Sequel::Plugins::LazyAttributes::ClassMethods
- Sequel::Plugins::LazyAttributes::InstanceMethods
- Sequel::Plugins::ManyThroughMany
- Sequel::Plugins::ManyThroughMany::ClassMethods
- Sequel::Plugins::ManyThroughMany::ManyThroughManyAssociationReflection
- Sequel::Plugins::NestedAttributes
- Sequel::Plugins::NestedAttributes::ClassMethods
- Sequel::Plugins::NestedAttributes::InstanceMethods
- Sequel::Plugins::OptimisticLocking
- Sequel::Plugins::OptimisticLocking::ClassMethods
- Sequel::Plugins::OptimisticLocking::InstanceMethods
- Sequel::Plugins::RcteTree
- Sequel::Plugins::Schema
- Sequel::Plugins::Schema::ClassMethods
- Sequel::Plugins::Serialization
- Sequel::Plugins::Serialization::ClassMethods
- Sequel::Plugins::Serialization::InstanceMethods
- Sequel::Plugins::Sharding
- Sequel::Plugins::Sharding::ClassMethods
- Sequel::Plugins::Sharding::DatasetMethods
- Sequel::Plugins::Sharding::InstanceMethods
- Sequel::Plugins::SingleTableInheritance
- Sequel::Plugins::SingleTableInheritance::ClassMethods
- Sequel::Plugins::SingleTableInheritance::InstanceMethods
- Sequel::Plugins::SkipCreateRefresh
- Sequel::Plugins::SkipCreateRefresh::InstanceMethods
- Sequel::Plugins::StringStripper
- Sequel::Plugins::StringStripper::InstanceMethods
- Sequel::Plugins::Subclasses
- Sequel::Plugins::Subclasses::ClassMethods
- Sequel::Plugins::TacticalEagerLoading
- Sequel::Plugins::TacticalEagerLoading::DatasetMethods
- Sequel::Plugins::TacticalEagerLoading::InstanceMethods
- Sequel::Plugins::Timestamps
- Sequel::Plugins::Timestamps::ClassMethods
- Sequel::Plugins::Timestamps::InstanceMethods
- Sequel::Plugins::Touch
- Sequel::Plugins::Touch::ClassMethods
- Sequel::Plugins::Touch::InstanceMethods
- Sequel::Plugins::TypecastOnLoad
- Sequel::Plugins::TypecastOnLoad::ClassMethods
- Sequel::Plugins::TypecastOnLoad::InstanceMethods
- Sequel::Plugins::UpdatePrimaryKey
- Sequel::Plugins::UpdatePrimaryKey::ClassMethods
- Sequel::Plugins::UpdatePrimaryKey::InstanceMethods
- Sequel::Plugins::ValidationClassMethods
- Sequel::Plugins::ValidationClassMethods::ClassMethods
- Sequel::Plugins::ValidationClassMethods::ClassMethods::Generator
- Sequel::Plugins::ValidationClassMethods::InstanceMethods
- Sequel::Plugins::ValidationHelpers
- Sequel::Plugins::ValidationHelpers::InstanceMethods
- Sequel::PoolTimeout
- Sequel::Postgres
- Sequel::Postgres::Adapter
- Sequel::Postgres::AdapterMethods
- Sequel::Postgres::Database
- Sequel::Postgres::DatabaseMethods
- Sequel::Postgres::Dataset
- Sequel::Postgres::Dataset::ArgumentMapper
- Sequel::Postgres::Dataset::BindArgumentMethods
- Sequel::Postgres::Dataset::PreparedStatementMethods
- Sequel::Postgres::DatasetMethods
- Sequel::Postgres::DatasetMethods::PreparedStatementMethods
- Sequel::PrettyTable
- Sequel::Progress
- Sequel::Progress::DatabaseMethods
- Sequel::Progress::DatasetMethods
- Sequel::Rollback
- Sequel::SQL
- Sequel::SQL::AliasMethods
- Sequel::SQL::AliasedExpression
- Sequel::SQL::BitwiseMethods
- Sequel::SQL::Blob
- Sequel::SQL::BooleanConstant
- Sequel::SQL::BooleanExpression
- Sequel::SQL::BooleanMethods
- Sequel::SQL::CaseExpression
- Sequel::SQL::Cast
- Sequel::SQL::CastMethods
- Sequel::SQL::ColumnAll
- Sequel::SQL::ComplexExpression
- Sequel::SQL::ComplexExpressionMethods
- Sequel::SQL::Constant
- Sequel::SQL::Constants
- Sequel::SQL::Expression
- Sequel::SQL::Function
- Sequel::SQL::GenericComplexExpression
- Sequel::SQL::GenericExpression
- Sequel::SQL::Identifier
- Sequel::SQL::IdentifierMethods
- Sequel::SQL::InequalityMethods
- Sequel::SQL::JoinClause
- Sequel::SQL::JoinOnClause
- Sequel::SQL::JoinUsingClause
- Sequel::SQL::NegativeBooleanConstant
- Sequel::SQL::NoBooleanInputMethods
- Sequel::SQL::NumericExpression
- Sequel::SQL::NumericMethods
- Sequel::SQL::OrderMethods
- Sequel::SQL::OrderedExpression
- Sequel::SQL::PlaceholderLiteralString
- Sequel::SQL::QualifiedIdentifier
- Sequel::SQL::QualifyingMethods
- Sequel::SQL::SQLArray
- Sequel::SQL::StringConcatenationMethods
- Sequel::SQL::StringExpression
- Sequel::SQL::StringMethods
- Sequel::SQL::Subscript
- Sequel::SQL::SubscriptMethods
- Sequel::SQL::VirtualRow
- Sequel::SQL::Window
- Sequel::SQL::WindowFunction
- Sequel::SQLite
- Sequel::SQLite::Database
- Sequel::SQLite::DatabaseMethods
- Sequel::SQLite::Dataset
- Sequel::SQLite::Dataset::ArgumentMapper
- Sequel::SQLite::Dataset::PreparedStatementMethods
- Sequel::SQLite::DatasetMethods
- Sequel::Schema
- Sequel::Schema::AlterTableGenerator
- Sequel::Schema::Generator
- Sequel::ShardedSingleConnectionPool
- Sequel::ShardedThreadedConnectionPool
- Sequel::SimpleMigration
- Sequel::SingleConnectionPool
- Sequel::ThreadLocalTimezones
- Sequel::ThreadedConnectionPool
- Sequel::TimestampMigrator
- Sequel::Timezones
- Sequel::ValidationFailed
- String
- String::Inflections
- Array
- FalseClass
- Hash
- NilClass
- Numeric
- Object
- PGconn
- PGresult
- Proc
- Symbol
- TrueClass

No matching classes.

# String

Sequel extends the String class to add methods to implement the SQL DSL.

The string_date_time extension provides String instance methods for converting the strings to a date (e.g. String#to_date), allowing for backwards compatibility with legacy Sequel code.

The inflector extension adds inflection instance methods to String, which allows the easy transformation of words from singular to plural, class names to table names, modularized class names to ones without, and class names to foreign keys. It exists for backwards compatibility to legacy Sequel code.

### Public Class Methods

inflections() click to toggle source

Yield the Inflections module if a block is given, and return the Inflections module.

    # File lib/sequel/extensions/inflector.rb, line 96
    def self.inflections
      yield Inflections if block_given?
      Inflections
    end

### Public Instance Methods

blank?() click to toggle source

Strings are blank if they are empty or include only whitespace

    # File lib/sequel/extensions/blank.rb, line 33
    def blank?
      strip.empty?
    end

camelcase(first_letter_in_uppercase = :upper) click to toggle source
Alias for: camelize
camelize(first_letter_in_uppercase = :upper) click to toggle source

By default, camelize converts the string to UpperCamelCase. If the argument to camelize is set to :lower then camelize produces lowerCamelCase.

camelize will also convert ‘/’ to ‘::’ which is useful for converting paths to namespaces

Examples

    "active_record".camelize #=> "ActiveRecord"
    "active_record".camelize(:lower) #=> "activeRecord"
    "active_record/errors".camelize #=> "ActiveRecord::Errors"
    "active_record/errors".camelize(:lower) #=> "activeRecord::Errors"

    # File lib/sequel/extensions/inflector.rb, line 111
    def camelize(first_letter_in_uppercase = :upper)
      s = gsub(/\/(.?)/){|x| "::#{x[-1..-1].upcase unless x == '/'}"}.gsub(/(^|_)(.)/){|x| x[-1..-1].upcase}
      s[0...1] = s[0...1].downcase unless first_letter_in_uppercase == :upper
      s
    end

Also aliased as: camelcase
classify() click to toggle source

Singularizes and camelizes the string. Also strips out all characters preceding and including a period (“.”).

Examples

    "egg_and_hams".classify #=> "EggAndHam"
    "post".classify #=> "Post"
    "schema.post".classify #=> "Post"

    # File lib/sequel/extensions/inflector.rb, line 125
    def classify
      sub(/.*\./, '').singularize.camelize
    end

constantize() click to toggle source

Constantize tries to find a declared constant with the name specified in the string. It raises a NameError when the name is not in CamelCase or is not initialized.

Examples

    "Module".constantize #=> Module
    "Class".constantize #=> Class

    # File lib/sequel/extensions/inflector.rb, line 136
    def constantize
      raise(NameError, "#{inspect} is not a valid constant name!") unless m = /\A(?:::)?([A-Z]\w*(?:::[A-Z]\w*)*)\z/.match(self)
      Object.module_eval("::#{m[1]}", __FILE__, __LINE__)
    end

dasherize() click to toggle source

Replaces underscores with dashes in the string.

Example

    "puni_puni".dasherize #=> "puni-puni"

    # File lib/sequel/extensions/inflector.rb, line 145
    def dasherize
      gsub(/_/, '-')
    end

demodulize() click to toggle source

Removes the module part from the expression in the string

Examples

    "ActiveRecord::CoreExtensions::String::Inflections".demodulize #=> "Inflections"
    "Inflections".demodulize #=> "Inflections"

    # File lib/sequel/extensions/inflector.rb, line 154
    def demodulize
      gsub(/^.*::/, '')
    end

foreign_key(use_underscore = true) click to toggle source

Creates a foreign key name from a class name. `use_underscore` sets whether the method should put ‘_’ between the name and ‘id’.

Examples

    "Message".foreign_key #=> "message_id"
    "Message".foreign_key(false) #=> "messageid"
    "Admin::Post".foreign_key #=> "post_id"

    # File lib/sequel/extensions/inflector.rb, line 165
    def foreign_key(use_underscore = true)
      "#{demodulize.underscore}#{'_' if use_underscore}id"
    end

humanize() click to toggle source

Capitalizes the first word and turns underscores into spaces and strips _id. Like titleize, this is meant for creating pretty output.

Examples

    "employee_salary" #=> "Employee salary"
    "author_id" #=> "Author"

    # File lib/sequel/extensions/inflector.rb, line 175
    def humanize
      gsub(/_id$/, "").gsub(/_/, " ").capitalize
    end

lit(*args) click to toggle source

Converts a string into a Sequel::LiteralString, in order to override string literalization, e.g.:

    DB[:items].filter(:abc => 'def').sql #=>
      "SELECT * FROM items WHERE (abc = 'def')"

    DB[:items].filter(:abc => 'def'.lit).sql #=>
      "SELECT * FROM items WHERE (abc = def)"

You can also provide arguments, to create a Sequel::SQL::PlaceholderLiteralString:

    DB[:items].select{|o| o.count('DISTINCT ?'.lit(:a))}.sql #=>
      "SELECT count(DISTINCT a) FROM items"

    # File lib/sequel/core_sql.rb, line 192
    def lit(*args)
      args.empty? ? Sequel::LiteralString.new(self) : Sequel::SQL::PlaceholderLiteralString.new(self, args)
    end

pluralize() click to toggle source

Returns the plural form of the word in the string.

Examples

    "post".pluralize #=> "posts"
    "octopus".pluralize #=> "octopi"
    "sheep".pluralize #=> "sheep"
    "words".pluralize #=> "words"
    "the blue mailman".pluralize #=> "the blue mailmen"
    "CamelOctopus".pluralize #=> "CamelOctopi"

    # File lib/sequel/extensions/inflector.rb, line 188
    def pluralize
      result = dup
      Inflections.plurals.each{|(rule, replacement)| break if result.gsub!(rule, replacement)} unless Inflections.uncountables.include?(downcase)
      result
    end

singularize() click to toggle source

The reverse of pluralize, returns the singular form of a word in a string.

Examples

    "posts".singularize #=> "post"
    "octopi".singularize #=> "octopus"
    "sheep".singluarize #=> "sheep"
    "word".singluarize #=> "word"
    "the blue mailmen".singularize #=> "the blue mailman"
    "CamelOctopi".singularize #=> "CamelOctopus"

    # File lib/sequel/extensions/inflector.rb, line 203
    def singularize
      result = dup
      Inflections.singulars.each{|(rule, replacement)| break if result.gsub!(rule, replacement)} unless Inflections.uncountables.include?(downcase)
      result
    end

sql_expr() click to toggle source

Returns a copy of the object wrapped in a Sequel::SQL::StringExpression, allowing easy use of Sequel’s DSL:

    "a".sql_expr + :a  # 'a' || a

    # File lib/sequel/extensions/sql_expr.rb, line 107
    def sql_expr
      Sequel::SQL::StringExpression.new(:NOOP, self)
    end

tableize() click to toggle source

Underscores and pluralizes the string.

Examples

    "RawScaledScorer".tableize #=> "raw_scaled_scorers"
    "egg_and_ham".tableize #=> "egg_and_hams"
    "fancyCategory".tableize #=> "fancy_categories"

    # File lib/sequel/extensions/inflector.rb, line 215
    def tableize
      underscore.pluralize
    end

titlecase() click to toggle source
Alias for: titleize
titleize() click to toggle source

Capitalizes all the words and replaces some characters in the string to create a nicer looking title. Titleize is meant for creating pretty output.

titleize is also aliased as as titlecase

Examples

    "man from the boondocks".titleize #=> "Man From The Boondocks"
    "x-men: the last stand".titleize #=> "X Men: The Last Stand"

    # File lib/sequel/extensions/inflector.rb, line 227
    def titleize
      underscore.humanize.gsub(/\b([a-z])/){|x| x[-1..-1].upcase}
    end

Also aliased as: titlecase
to_date() click to toggle source

Converts a string into a Date object.

    # File lib/sequel/extensions/string_date_time.rb, line 7
    def to_date
      begin
        Date.parse(self, Sequel.convert_two_digit_years)
      rescue => e
        raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
      end
    end

to_datetime() click to toggle source

Converts a string into a DateTime object.

    # File lib/sequel/extensions/string_date_time.rb, line 16
    def to_datetime
      begin
        DateTime.parse(self, Sequel.convert_two_digit_years)
      rescue => e
        raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
      end
    end

to_sequel_blob() click to toggle source

Returns a Sequel::SQL::Blob that holds the same data as this string. Blobs provide proper escaping of binary data.

    # File lib/sequel/core_sql.rb, line 198
    def to_sequel_blob
      ::Sequel::SQL::Blob.new(self)
    end

to_sequel_time() click to toggle source

Converts a string into a Time or DateTime object, depending on the value of Sequel.datetime_class

    # File lib/sequel/extensions/string_date_time.rb, line 26
    def to_sequel_time
      begin
        if Sequel.datetime_class == DateTime
          DateTime.parse(self, Sequel.convert_two_digit_years)
        else
          Sequel.datetime_class.parse(self)
        end
      rescue => e
        raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
      end
    end

to_time() click to toggle source

Converts a string into a Time object.

    # File lib/sequel/extensions/string_date_time.rb, line 39
    def to_time
      begin
        Time.parse(self)
      rescue => e
        raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
      end
    end

underscore() click to toggle source

The reverse of camelize. Makes an underscored form from the expression in the string. Also changes ‘::’ to ‘/’ to convert namespaces to paths.

Examples

    "ActiveRecord".underscore #=> "active_record"
    "ActiveRecord::Errors".underscore #=> active_record/errors

    # File lib/sequel/extensions/inflector.rb, line 238
    def underscore
      gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
        gsub(/([a-z\d])([A-Z])/,'\1_\2').tr("-", "_").downcase
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.