Sha256: 38fbdf5f17e28259365893e662b6df0620669b09fd8df67e9454064930f5e961

Contents?: true

Size: 962 Bytes

Versions: 5

Compression:

Stored size: 962 Bytes

Contents

module Eaco
  module Adapters

    ##
    # CouchRest::Model backing store for ACLs, that naively uses +property+.
    # As the ACL class is an +Hash+, it gets unserialized automagically by
    # CouchRest guts.
    #
    # @see ACL
    # @see CouchDBLucene
    #
    # :nocov: because there are too many moving parts here and anyway we are
    # going to deprecate this in favour of jsonb
    module CouchrestModel
      autoload :CouchDBLucene, 'eaco/adapters/couchrest_model/couchdb_lucene'

      ##
      # Returns currently available collection extraction strategies.
      #
      def self.strategies
        {lucene: CouchDBLucene}
      end

      ##
      # Defines the +acl+ property on the given model
      #
      # @param base [CouchRest::Model] your model class.
      #
      # @return [void]
      #
      def self.included(base)
        base.instance_eval do
          property :acl, acl
        end
      end
    end
    # :nocov:

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
eaco-1.1.2 lib/eaco/adapters/couchrest_model.rb
eaco-1.0.0 lib/eaco/adapters/couchrest_model.rb
eaco-0.8.2 lib/eaco/adapters/couchrest_model.rb
eaco-0.8.1 lib/eaco/adapters/couchrest_model.rb
eaco-0.8.0 lib/eaco/adapters/couchrest_model.rb