Sha256: 592063da7bdcfaac9cb8eb9b692bab3f74112ba09c378005d5d625795f8c79e9

Contents?: true

Size: 1.32 KB

Versions: 112

Compression:

Stored size: 1.32 KB

Contents

# frozen-string-literal: true
#
# 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.
#
# To load the extension:
#
#   Sequel.extension :string_date_time

class String
  # Converts a string into a Date object.
  def to_date
    begin
      Date.parse(self, Sequel.convert_two_digit_years)
    rescue => e
      raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
    end
  end

  # Converts a string into a DateTime object.
  def to_datetime
    begin
      DateTime.parse(self, Sequel.convert_two_digit_years)
    rescue => e
      raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
    end
  end

  # Converts a string into a Time or DateTime object, depending on the
  # value of Sequel.datetime_class
  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

  # Converts a string into a Time object.
  def to_time
    begin
      Time.parse(self)
    rescue => e
      raise Sequel.convert_exception_class(e, Sequel::InvalidValue)
    end
  end
end

Version data entries

112 entries across 93 versions & 2 rubygems

Version Path
sequel-5.51.0 lib/sequel/extensions/string_date_time.rb
tdiary-5.2.0 vendor/bundle/ruby/3.0.0/gems/sequel-5.50.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.2.0 vendor/bundle/ruby/2.7.0/gems/sequel-5.44.0/lib/sequel/extensions/string_date_time.rb
sequel-5.50.0 lib/sequel/extensions/string_date_time.rb
sequel-5.49.0 lib/sequel/extensions/string_date_time.rb
sequel-5.48.0 lib/sequel/extensions/string_date_time.rb
tdiary-5.1.7 vendor/bundle/ruby/2.7.0/gems/sequel-5.44.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.7 vendor/bundle/ruby/3.0.0/gems/sequel-5.47.0/lib/sequel/extensions/string_date_time.rb
sequel-5.47.0 lib/sequel/extensions/string_date_time.rb
sequel-5.46.0 lib/sequel/extensions/string_date_time.rb
sequel-5.45.0 lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/sequel-5.44.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/sequel-5.39.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/3.0.0/gems/sequel-5.44.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/sequel-5.43.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/sequel-5.41.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/2.7.0/gems/sequel-5.41.0/lib/sequel/extensions/string_date_time.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/vendor/bundle/ruby/2.7.0/gems/sequel-5.38.0/lib/sequel/extensions/string_date_time.rb
sequel-5.44.0 lib/sequel/extensions/string_date_time.rb
sequel-5.43.0 lib/sequel/extensions/string_date_time.rb