Module: Persistence::Adapter::Mock::AdapterInterface
- Includes:
- Abstract::EnableDisable
- Included in:
- Persistence::Adapter::Mock
- Defined in:
- lib/persistence/adapter/mock/adapter_interface.rb
Overview
Interface implementation for storage port in Mock adapter.
Instance Attribute Summary
Attributes included from Abstract::EnableDisable
Instance Method Summary collapse
-
#delete_bucket_for_object_id(global_id) ⇒ Object
delete_bucket_for_object_id #.
-
#delete_class_for_object_id(global_id) ⇒ Object
delete_class_for_object_id #.
-
#ensure_object_has_globally_unique_id(object) ⇒ Object
ensure_object_has_globally_unique_id #.
-
#get_bucket_name_for_object_id(global_id) ⇒ Object
get_bucket_name_for_object_id #.
-
#get_class_for_object_id(global_id) ⇒ Object
get_class_for_object_id #.
-
#initialize(home_directory = nil) ⇒ Object
initialize #.
-
#persistence_bucket(bucket) ⇒ Object
persistence_bucket #.
Methods included from Abstract::EnableDisable
#disable, #disabled?, #enable, #enabled?
Instance Method Details
#delete_bucket_for_object_id(global_id) ⇒ Object
delete_bucket_for_object_id #
65 66 67 68 69 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 65 def delete_bucket_for_object_id( global_id ) return @bucket_for_id.delete( global_id ) end |
#delete_class_for_object_id(global_id) ⇒ Object
delete_class_for_object_id #
75 76 77 78 79 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 75 def delete_class_for_object_id( global_id ) return @class_for_id.delete( global_id ) end |
#ensure_object_has_globally_unique_id(object) ⇒ Object
ensure_object_has_globally_unique_id #
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 85 def ensure_object_has_globally_unique_id( object ) unless object.persistence_id # in which case we need to create a new ID @id_sequence = ( @id_sequence ||= -1 ) + 1 global_id = @id_sequence @bucket_for_id[ global_id ] = object.persistence_bucket.name @class_for_id[ global_id ] = object.class object.persistence_id = global_id end return object.persistence_id end |
#get_bucket_name_for_object_id(global_id) ⇒ Object
get_bucket_name_for_object_id #
45 46 47 48 49 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 45 def get_bucket_name_for_object_id( global_id ) return @bucket_for_id[ global_id ] end |
#get_class_for_object_id(global_id) ⇒ Object
get_class_for_object_id #
55 56 57 58 59 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 55 def get_class_for_object_id( global_id ) return @class_for_id[ global_id ] end |
#initialize(home_directory = nil) ⇒ Object
initialize #
13 14 15 16 17 18 19 20 21 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 13 def initialize( home_directory = nil ) super() if defined?( super ) @bucket_for_id = { } @class_for_id = { } @buckets = { } end |
#persistence_bucket(bucket) ⇒ Object
persistence_bucket #
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/persistence/adapter/mock/adapter_interface.rb', line 27 def persistence_bucket( bucket ) bucket_instance = nil unless bucket_instance = @buckets[ bucket ] bucket_instance = ::Persistence::Adapter::Mock::Bucket.new( bucket ) bucket_instance.parent_adapter = self @buckets[ bucket ] = bucket_instance end return bucket_instance end |