Class: MatrixAgent
- Defined in:
- lib/generators/active_matrix/install/templates/matrix_agent.rb
Instance Attribute Summary collapse
-
#password ⇒ Object
Password handling.
Instance Method Summary collapse
- #authenticate(password) ⇒ Object
-
#bot_instance ⇒ Object
Instance methods.
- #client ⇒ Object
- #increment_messages_handled! ⇒ Object
- #memory ⇒ Object
- #running? ⇒ Boolean
- #update_activity! ⇒ Object
Instance Attribute Details
#password ⇒ Object
Password handling
99 100 101 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 99 def password @password end |
Instance Method Details
#authenticate(password) ⇒ Object
101 102 103 104 105 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 101 def authenticate(password) return false unless encrypted_password.present? BCrypt::Password.new(encrypted_password) == password end |
#bot_instance ⇒ Object
Instance methods
70 71 72 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 70 def bot_instance @bot_instance ||= bot_class.constantize.new(client) if running? end |
#client ⇒ Object
74 75 76 77 78 79 80 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 74 def client @client ||= if access_token.present? ActiveMatrix::Client.new(homeserver, access_token: access_token) else ActiveMatrix::Client.new(homeserver) end end |
#increment_messages_handled! ⇒ Object
90 91 92 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 90 def increment!(:messages_handled) end |
#memory ⇒ Object
86 87 88 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 86 def memory @memory ||= ActiveMatrix::Memory::AgentMemory.new(self) end |
#running? ⇒ Boolean
82 83 84 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 82 def running? %i[online_idle online_busy].include?(state.to_sym) end |
#update_activity! ⇒ Object
94 95 96 |
# File 'lib/generators/active_matrix/install/templates/matrix_agent.rb', line 94 def update_activity! update(last_active_at: Time.current) end |