Sha256: 06be077f2ea03dcaa6c764aaee99dd305d6094c21b921f99ee9d611612fc652a

Contents?: true

Size: 798 Bytes

Versions: 4

Compression:

Stored size: 798 Bytes

Contents

# frozen_string_literal: true

Date.class_eval do
  class << self
    unless method_defined?(:safe_parse)
      # Parses the `str` and returns `nil` if invalid
      def safe_parse(str)
        parse(str)
      rescue
        nil
      end
    end
  end
end

Time.class_eval do
  class << self
    unless method_defined?(:safe_parse)
      # Parses the `str` and returns `nil` if invalid
      def safe_parse(str)
        parse(str)
      rescue
        nil
      end
    end
  end
end

if defined?(ActiveSupport::TimeZone)
  ActiveSupport::TimeZone.class_eval do
    class << self
      unless method_defined?(:safe_parse)
        # Parses the `str` and returns `nil` if invalid
        def safe_parse(str)
          parse(str)
        rescue
          nil
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-rails-extensions-0.2.0 lib/ruby-rails-extensions/extensions/safe_parse.rb
ruby-rails-extensions-0.2.0.pre.rc.1 lib/ruby-rails-extensions/extensions/safe_parse.rb
ruby-rails-extensions-1.1.0 lib/ruby-rails-extensions/extensions/safe_parse.rb
ruby-rails-extensions-1.1.0.pre.rc.1 lib/ruby-rails-extensions/extensions/safe_parse.rb