Sha256: 4e081d4a96ce94de12a3c82c2331d3fe56cdfe304f2866aee0bfdcab50a48d8e

Contents?: true

Size: 1.36 KB

Versions: 3

Compression:

Stored size: 1.36 KB

Contents

module MongodbLogger
  module Adapers
    class Base

      attr_reader :configuration, :connection, :connection_type, :collection, :authenticated

      def collection_name
        @configuration[:collection]
      end

      def authenticated?
        @authenticated
      end

      def check_for_collection
        # setup the capped collection if it doesn't already exist
        create_collection unless @connection.collection_names.include?(@configuration[:collection])
        @collection = @connection[@configuration[:collection]]
      end

      def rename_collection_command(admin_session, to, drop_target = false)
        admin_session.command(renameCollection: "#{@configuration[:database]}.#{collection_name}", to: "#{@configuration[:database]}.#{to}", dropTarget: drop_target)
      end

      def reset_collection
        if @connection && @collection
          @collection.drop
          create_collection
        end
      end

      def collection_stats_hash(stats)
        {
          is_capped: (stats["capped"] && ([1, true].include?(stats["capped"]))),
          count: stats["count"].to_i,
          size: stats["size"].to_f,
          storageSize: stats["storageSize"].to_f,
          db_name: @configuration["database"],
          collection: collection_name
        }
      end

      def create_collection
        raise "Not implemented"
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mongodb_logger-0.6.5 lib/mongodb_logger/adapters/base.rb
mongodb_logger-0.6.4 lib/mongodb_logger/adapters/base.rb
mongodb_logger-0.6.3 lib/mongodb_logger/adapters/base.rb