Class: ActiveRecord::Materialized::RefreshResult
- Inherits:
-
T::Struct
- Object
- T::Struct
- ActiveRecord::Materialized::RefreshResult
- Extended by:
- T::Sig
- Defined in:
- lib/activerecord/materialized/refresh_result.rb
Overview
The outcome of a refresh or rebuild, returned by refresh!, rebuild!, and refresh_if_stale!.
Instance Attribute Summary collapse
-
#duration_ms ⇒ Integer
readonly
Wall-clock duration in milliseconds.
-
#refreshed_at ⇒ Time?
readonly
When the refresh completed (nil when skipped).
-
#row_count ⇒ Integer
readonly
Rows in the cache table after the operation.
-
#skipped ⇒ Boolean
readonly
True when there was nothing to do (e.g. an unmaintainable view).
-
#view_class ⇒ Class
readonly
The view that was refreshed.
Class Method Summary collapse
Instance Attribute Details
#duration_ms ⇒ Integer (readonly)
Returns wall-clock duration in milliseconds.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 21 class RefreshResult < T::Struct extend T::Sig const :view_class, T.class_of(View) const :row_count, Integer const :duration_ms, Integer const :refreshed_at, T.nilable(Timestamp) const :skipped, T::Boolean, default: false # A no-op result, returned when refresh! was requested on a view that is # not maintainable. # # @return [RefreshResult] sig { params(view_class: T.class_of(View)).returns(RefreshResult) } def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end end |
#refreshed_at ⇒ Time? (readonly)
Returns when the refresh completed (nil when skipped).
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 21 class RefreshResult < T::Struct extend T::Sig const :view_class, T.class_of(View) const :row_count, Integer const :duration_ms, Integer const :refreshed_at, T.nilable(Timestamp) const :skipped, T::Boolean, default: false # A no-op result, returned when refresh! was requested on a view that is # not maintainable. # # @return [RefreshResult] sig { params(view_class: T.class_of(View)).returns(RefreshResult) } def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end end |
#row_count ⇒ Integer (readonly)
Returns rows in the cache table after the operation.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 21 class RefreshResult < T::Struct extend T::Sig const :view_class, T.class_of(View) const :row_count, Integer const :duration_ms, Integer const :refreshed_at, T.nilable(Timestamp) const :skipped, T::Boolean, default: false # A no-op result, returned when refresh! was requested on a view that is # not maintainable. # # @return [RefreshResult] sig { params(view_class: T.class_of(View)).returns(RefreshResult) } def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end end |
#skipped ⇒ Boolean (readonly)
Returns true when there was nothing to do (e.g. an unmaintainable view).
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 21 class RefreshResult < T::Struct extend T::Sig const :view_class, T.class_of(View) const :row_count, Integer const :duration_ms, Integer const :refreshed_at, T.nilable(Timestamp) const :skipped, T::Boolean, default: false # A no-op result, returned when refresh! was requested on a view that is # not maintainable. # # @return [RefreshResult] sig { params(view_class: T.class_of(View)).returns(RefreshResult) } def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end end |
#view_class ⇒ Class (readonly)
Returns the view that was refreshed.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 21 class RefreshResult < T::Struct extend T::Sig const :view_class, T.class_of(View) const :row_count, Integer const :duration_ms, Integer const :refreshed_at, T.nilable(Timestamp) const :skipped, T::Boolean, default: false # A no-op result, returned when refresh! was requested on a view that is # not maintainable. # # @return [RefreshResult] sig { params(view_class: T.class_of(View)).returns(RefreshResult) } def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end end |
Class Method Details
.skipped(view_class) ⇒ Object
35 36 37 |
# File 'lib/activerecord/materialized/refresh_result.rb', line 35 def self.skipped(view_class) new(view_class: view_class, row_count: 0, duration_ms: 0, refreshed_at: nil, skipped: true) end |