Sha256: ebd60432503bac31e887014e4ecdf1305beea9623e00ecaec6292cb9db08ed89

Contents?: true

Size: 667 Bytes

Versions: 6

Compression:

Stored size: 667 Bytes

Contents

# frozen_string_literal: true

require 'mongoid'

module RailsAdmin
  module Adapters
    module Mongoid
      class Bson
        OBJECT_ID =
          if defined?(Moped::BSON)
            Moped::BSON::ObjectId
          elsif defined?(BSON::ObjectId)
            BSON::ObjectId
          end

        class << self
          def parse_object_id(value)
            OBJECT_ID.from_string(value)
          rescue StandardError => e
            raise e if %w[
              Moped::Errors::InvalidObjectId
              BSON::ObjectId::Invalid
              BSON::InvalidObjectId
            ].exclude?(e.class.to_s)
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails_admin-3.1.2 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.1.1 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.1.0 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.1.0.rc2 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.1.0.rc lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.1.0.beta lib/rails_admin/adapters/mongoid/bson.rb