Module: Phronomy::ActiveRecord::ActsAs::ClassMethods

Defined in:
lib/phronomy/active_record/acts_as.rb

Instance Method Summary collapse

Instance Method Details

#acts_as_phronomy_checkpoint(encryptor: nil) ⇒ Object

Configures this model as a Phronomy checkpoint store. Applies validations and exposes a convenience checkpointer factory.

Parameters:



23
24
25
26
27
28
29
# File 'lib/phronomy/active_record/acts_as.rb', line 23

def acts_as_phronomy_checkpoint(encryptor: nil)
  include ::Phronomy::ActiveRecord::Checkpoint

  define_singleton_method(:phronomy_checkpointer) do |enc: encryptor|
    ::Phronomy::StateStore::ActiveRecord.new(model_class: self, encryptor: enc)
  end
end

#acts_as_phronomy_messagePhronomy::Memory::ConversationManager

Configures this model as a Phronomy message store. Applies validations and exposes a convenience factory method.

Returns:



35
36
37
38
39
40
41
42
43
44
# File 'lib/phronomy/active_record/acts_as.rb', line 35

def acts_as_phronomy_message
  include ::Phronomy::ActiveRecord::Message

  define_singleton_method(:phronomy_memory) do
    ::Phronomy::Memory::ConversationManager.new(
      storage: ::Phronomy::Memory::Storage::ActiveRecord.new(model_class: self),
      retrieval: ::Phronomy::Memory::Retrieval::Recent.new
    )
  end
end