Class: Renalware::HD::Sessions::CloseStaleOpenSessions
- Inherits:
-
Object
- Object
- Renalware::HD::Sessions::CloseStaleOpenSessions
- Defined in:
- app/models/renalware/hd/sessions/close_stale_open_sessions.rb
Defined Under Namespace
Classes: CloseableSession, CloseableSessionQuery
Instance Attribute Summary collapse
-
#closed_session_ids ⇒ Object
readonly
Returns the value of attribute closed_session_ids.
-
#performed_before ⇒ Object
readonly
Returns the value of attribute performed_before.
-
#unclosed_session_ids ⇒ Object
readonly
Returns the value of attribute unclosed_session_ids.
Class Method Summary collapse
Instance Method Summary collapse
-
#call ⇒ Object
rubocop:disable Metrics/MethodLength,Metrics/AbcSize.
-
#initialize(performed_before:) ⇒ CloseStaleOpenSessions
constructor
A new instance of CloseStaleOpenSessions.
Constructor Details
#initialize(performed_before:) ⇒ CloseStaleOpenSessions
Returns a new instance of CloseStaleOpenSessions.
58 59 60 61 62 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 58 def initialize(performed_before:) @performed_before = performed_before @closed_session_ids = [] @unclosed_session_ids = [] end |
Instance Attribute Details
#closed_session_ids ⇒ Object (readonly)
Returns the value of attribute closed_session_ids.
10 11 12 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 10 def closed_session_ids @closed_session_ids end |
#performed_before ⇒ Object (readonly)
Returns the value of attribute performed_before.
10 11 12 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 10 def performed_before @performed_before end |
#unclosed_session_ids ⇒ Object (readonly)
Returns the value of attribute unclosed_session_ids.
10 11 12 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 10 def unclosed_session_ids @unclosed_session_ids end |
Class Method Details
.call(performed_before: 3.days.ago) ⇒ Object
54 55 56 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 54 def self.call(performed_before: 3.days.ago) new(performed_before: performed_before).call end |
Instance Method Details
#call ⇒ Object
rubocop:disable Metrics/MethodLength,Metrics/AbcSize
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/models/renalware/hd/sessions/close_stale_open_sessions.rb', line 65 def call log_start results = OpenStruct.new(closed_ids: [], unclosed_ids: []) CloseableSessionQuery.new(performed_before: performed_before).each do |session| if session.close results.closed_ids << session.id log("[Session #{session.id}] - closed") else results.unclosed_ids << session.id log("[Session #{session.id}] - unclosed: #{session.all_errors.join(', ')}") log("[Session #{session.id}] - #{session.url}") end end log_results(results) results end |