Class: Merb::Cache::AbstractStore

Inherits:
Object
  • Object
show all
Defined in:
lib/merb-cache/stores/fundamental/abstract_store.rb

Direct Known Subclasses

AbstractStrategyStore, FileStore, MemcachedStore

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ AbstractStore

Returns a new instance of AbstractStore



3
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 3

def initialize(config = {}); end

Instance Method Details

#delete(key, parameters = {}) ⇒ Object

deletes the entry for the key & parameter from the store.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

Raises:

  • (TrueClass)

    true if the an entry matching the key and parameters is successfully deleted, false otherwise

  • (NotImplementedError)

    API method has not been implemented



81
82
83
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 81

def delete(key, parameters = {})
  raise NotImplementedError
end

#delete_allTrueClass

deletes all entries for the key & parameters for the store.

Returns:

  • (TrueClass)

    true if all entries in the store are erased, false otherwise

Raises:

  • (NotImplementedError)

    API method has not been implemented



89
90
91
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 89

def delete_all
  raise NotImplementedError
end

#delete_all!TrueClass

dangerous version of delete_all. Used by strategy stores, which may delete entries not associated with the strategy store making the call.

Returns:

  • (TrueClass)

    true if all entries in the store are erased, false otherwise

Raises:

  • (NotImplementedError)

    API method has not been implemented



98
99
100
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 98

def delete_all!
  delete_all
end

#exists?(key, parameters = {}) ⇒ TrueClass

returns true/false/nil based on if data identified by the key & parameters is persisted in the store.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

Returns:

  • (TrueClass)

    true if the key and parameters match an entry in the store, false otherwise

Raises:

  • (NotImplementedError)

    API method has not been implemented



71
72
73
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 71

def exists?(key, parameters = {})
  raise NotImplementedError
end

#fetch(key, parameters = {}, conditions = {}, &blk) ⇒ Object, NilClass

tries to read the data from the store. If that fails, it calls the block parameter and persists the result.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

  • conditions (Hash) (defaults to: {})

    optional conditions that place constraints or detail instructions for storing an entry

Returns:

  • (Object, NilClass)

    the match entry or the result of the block call, or nil if the entry is not successfully written

Raises:

  • (NotImplementedError)

    API method has not been implemented



60
61
62
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 60

def fetch(key, parameters = {}, conditions = {}, &blk)
  raise NotImplementedError
end

#read(key, parameters = {}) ⇒ Object, NilClass

gets the data from the store identified by the key & parameters. return nil if the entry does not exist.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

Returns:

  • (Object, NilClass)

    the match entry, or nil if no entry exists matching the key and parameters

Raises:

  • (NotImplementedError)

    API method has not been implemented



24
25
26
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 24

def read(key, parameters = {})
  raise NotImplementedError
end

#writable?(key, parameters = {}, conditions = {}) ⇒ TrueClass

determines if the store is able to persist data identified by the key & parameters with the given conditions.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

  • conditions (Hash) (defaults to: {})

    optional conditions that place constraints or detail instructions for storing an entry

Returns:

  • (TrueClass)

    the ability of the store to write an entry based on the key, parameters, and conditions

Raises:

  • (NotImplementedError)

    API method has not been implemented



13
14
15
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 13

def writable?(key, parameters = {}, conditions = {})
  raise NotImplementedError
end

#write(key, data = nil, parameters = {}, conditions = {}) ⇒ TrueClass, NilClass

persists the data so that it can be retrieved by the key & parameters. returns nil if it is unable to persist the data. returns true if successful.

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • data (defaults to: nil)

    the object to persist as an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

  • conditions (Hash) (defaults to: {})

    optional conditions that place constraints or detail instructions for storing an entry

Returns:

  • (TrueClass, NilClass)

    true if the entry was successfully written, otherwise nil

Raises:

  • (NotImplementedError)

    API method has not been implemented



38
39
40
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 38

def write(key, data = nil, parameters = {}, conditions = {})
  raise NotImplementedError
end

#write_all(key, data = nil, parameters = {}, conditions = {}) ⇒ TrueClass, NilClass

Returns true if the entry was successfully written, otherwise nil

Parameters:

  • key (#to_s)

    the key used to identify an entry

  • data (defaults to: nil)

    the object to persist as an entry

  • parameters (Hash) (defaults to: {})

    optional parameters used to identify an entry

  • conditions (Hash) (defaults to: {})

    optional conditions that place constraints or detail instructions for storing an entry

Returns:

  • (TrueClass, NilClass)

    true if the entry was successfully written, otherwise nil

Raises:

  • (NotImplementedError)

    API method has not been implemented



48
49
50
# File 'lib/merb-cache/stores/fundamental/abstract_store.rb', line 48

def write_all(key, data = nil, parameters = {}, conditions = {})
  write(key, data, parameters, conditions)
end