Class: Taskinator::Persistence::RedisCleanupVisitor
- Inherits:
-
Visitor::Base
- Object
- Visitor::Base
- Taskinator::Persistence::RedisCleanupVisitor
- Defined in:
- lib/taskinator/persistence.rb
Instance Attribute Summary collapse
-
#expire_at ⇒ Object
readonly
Returns the value of attribute expire_at.
-
#instance ⇒ Object
readonly
Returns the value of attribute instance.
Instance Method Summary collapse
-
#initialize(conn, instance, expire_at) ⇒ RedisCleanupVisitor
constructor
A new instance of RedisCleanupVisitor.
- #visit ⇒ Object
- #visit_process(attribute) ⇒ Object
- #visit_tasks(tasks) ⇒ Object
Methods inherited from Visitor::Base
#task_count, #visit_args, #visit_attribute, #visit_attribute_enum, #visit_attribute_time, #visit_process_reference, #visit_task_reference, #visit_type
Constructor Details
#initialize(conn, instance, expire_at) ⇒ RedisCleanupVisitor
457 458 459 460 461 462 |
# File 'lib/taskinator/persistence.rb', line 457 def initialize(conn, instance, expire_at) @conn = conn @instance = instance @expire_at = expire_at.utc @key = instance.key end |
Instance Attribute Details
#expire_at ⇒ Object (readonly)
Returns the value of attribute expire_at.
455 456 457 |
# File 'lib/taskinator/persistence.rb', line 455 def expire_at @expire_at end |
#instance ⇒ Object (readonly)
Returns the value of attribute instance.
454 455 456 |
# File 'lib/taskinator/persistence.rb', line 454 def instance @instance end |
Instance Method Details
#visit ⇒ Object
464 465 466 467 |
# File 'lib/taskinator/persistence.rb', line 464 def visit @instance.accept(self) @conn.expireat(@key, expire_at.to_i) end |
#visit_process(attribute) ⇒ Object
469 470 471 472 |
# File 'lib/taskinator/persistence.rb', line 469 def visit_process(attribute) process = @instance.send(attribute) RedisCleanupVisitor.new(@conn, process, expire_at).visit if process end |
#visit_tasks(tasks) ⇒ Object
474 475 476 477 478 |
# File 'lib/taskinator/persistence.rb', line 474 def visit_tasks(tasks) tasks.each do |task| RedisCleanupVisitor.new(@conn, task, expire_at).visit end end |