Sha256: 5042e07c73d2dc9999abc3821627a3e9d022686117e9f07dfe5c0927b85483de

Contents?: true

Size: 668 Bytes

Versions: 9

Compression:

Stored size: 668 Bytes

Contents

# encoding: UTF-8
module MongoMapper
  module Plugins
    module Safe
      extend ActiveSupport::Concern

      module ClassMethods
        attr_reader :safe_options

        def inherited(subclass)
          super
          subclass.safe(safe_options) if safe?
        end

        def safe(options = true)
          @safe_options = options
        end

        def safe?
          @safe_options ||= nil
          !!@safe_options
        end

        def collection_options
          if @safe_options
            super.merge(write: Utils.get_safe_options(safe: @safe_options))
          else
            super
          end
        end

      end


    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
mongo_mapper-0.17.0 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.16.0 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.6 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.5 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.4 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.3 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.2 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.1 lib/mongo_mapper/plugins/safe.rb
mongo_mapper-0.15.0 lib/mongo_mapper/plugins/safe.rb