Module: CuteKV::Document

Defined in:
lib/cute_kv/document.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.add_client(client) ⇒ Object



316
317
318
# File 'lib/cute_kv/document.rb', line 316

def add_client(client)
  (@clients ||= []) << client if client.is_a? Class
end

.backend_configure(klass, adapter, host_port) ⇒ Object



307
308
# File 'lib/cute_kv/document.rb', line 307

def backend_configure(klass,adapter, host_port )
end

.clientsObject



320
321
322
# File 'lib/cute_kv/document.rb', line 320

def clients
  (@clients ||= []).dup
end

.docking(mod) ⇒ Object

docking external mod, so that expanding Document’s functions and class who has included Document will hold the exteranl mod’s methods.



312
313
314
# File 'lib/cute_kv/document.rb', line 312

def docking(mod)
  @clients.each {|client| client.send :include, mod }
end

.included(base) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/cute_kv/document.rb', line 66

def self.included(base)
  base.extend ClassMethods
  # select serializers, exmaple "json", ",marshal", default is "json"
  base.select_serializer(:json)
  base.send :include, InstanceMethods
  base.send :include, Serialization
  base.send :include, Timestamp
  add_client(base) unless clients.include?(base)
end