Sha256: 2065d8e76246852f7a80df82e0f5212a3bdd346cf97429520ffe18bacecdaea9

Contents?: true

Size: 896 Bytes

Versions: 56

Compression:

Stored size: 896 Bytes

Contents

module CassandraObject
  module Identity
    # Key factories need to support 3 operations
    class AbstractKeyFactory
      # Next key takes an object and returns the key object it should use.
      # object will be ignored with synthetic keys but could be useful with natural ones
      #
      # @param  [CassandraObject::Base] the object that needs a new key
      # @return [CassandraObject::Identity::Key] the key
      #
      def next_key(object)
        raise NotImplementedError, "#{self.class.name}#next_key isn't implemented."
      end

      # Parse should create a new key object from the 'to_param' format
      #
      # @param  [String] the result of calling key.to_param
      # @return [CassandraObject::Identity::Key] the parsed key
      #
      def parse(string)
        raise NotImplementedError, "#{self.class.name}#parse isn't implemented."
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
gotime-cassandra_object-2.11.9 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.8 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.7 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.6 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.5 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.4 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.3 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.2 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.1 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.11.0 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.11 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.10 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.9 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.8 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.7 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.6 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.5 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.4 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.3 lib/cassandra_object/identity/abstract_key_factory.rb
gotime-cassandra_object-2.10.2 lib/cassandra_object/identity/abstract_key_factory.rb