Sha256: 93e9c32da2aeb0f5269a0df01731bf994189c2c23f6cbd5c71aea2278950dbf6

Contents?: true

Size: 636 Bytes

Versions: 7

Compression:

Stored size: 636 Bytes

Contents

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

7 entries across 7 versions & 1 rubygems

Version Path
rails_admin-3.0.0 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.rc4 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.rc3 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.rc2 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.rc lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.beta2 lib/rails_admin/adapters/mongoid/bson.rb
rails_admin-3.0.0.beta lib/rails_admin/adapters/mongoid/bson.rb