Exception: PgEventstore::WrongExpectedTypesRevisionError
- Defined in:
- lib/pg_eventstore/errors.rb,
sig/pg_eventstore/errors.rbs
Defined Under Namespace
Classes: Verdict
Instance Attribute Summary collapse
-
#stream ⇒ Stream
Returns the value of attribute stream.
-
#verdicts ⇒ Array[Verdict]
Returns the value of attribute verdicts.
Instance Method Summary collapse
- #event_descr(verdict) ⇒ String
- #event_is_absent(verdict) ⇒ String
- #event_is_present(verdict) ⇒ String
- #event_revision_does_not_match(verdict) ⇒ String
-
#initialize(stream:, verdicts:) ⇒ WrongExpectedTypesRevisionError
constructor
A new instance of WrongExpectedTypesRevisionError.
- #revision_descr(verdict) ⇒ String
- #stream_descr ⇒ String
- #user_friendly_message ⇒ String
Methods inherited from Error
Constructor Details
#initialize(stream:, verdicts:) ⇒ WrongExpectedTypesRevisionError
Returns a new instance of WrongExpectedTypesRevisionError.
152 153 154 155 156 |
# File 'lib/pg_eventstore/errors.rb', line 152 def initialize(stream:, verdicts:) @stream = stream @verdicts = verdicts super() end |
Instance Attribute Details
#stream ⇒ Stream
Returns the value of attribute stream.
145 146 147 |
# File 'lib/pg_eventstore/errors.rb', line 145 def stream @stream end |
#verdicts ⇒ Array[Verdict]
Returns the value of attribute verdicts.
148 149 150 |
# File 'lib/pg_eventstore/errors.rb', line 148 def verdicts @verdicts end |
Instance Method Details
#event_descr(verdict) ⇒ String
209 210 211 212 213 214 215 216 217 218 219 |
# File 'lib/pg_eventstore/errors.rb', line 209 def event_descr(verdict) if verdict.event_type == :any markers = verdict.expected_markers.map(&:inspect).join(', ') "any event with some of #{markers} marker(s)" elsif verdict.expected_markers markers = verdict.expected_markers.map(&:inspect).join(', ') "#{verdict.event_type.inspect} event with some of #{markers} marker(s)" else "#{verdict.event_type.inspect} event" end end |
#event_is_absent(verdict) ⇒ String
180 181 182 183 184 185 |
# File 'lib/pg_eventstore/errors.rb', line 180 def event_is_absent(verdict) " Expected \#{stream_descr} stream to contain \#{event_descr(verdict)} with \#{revision_descr(verdict)}, \\\n but this event does not exist.\n TEXT\nend\n".strip |
#event_is_present(verdict) ⇒ String
189 190 191 |
# File 'lib/pg_eventstore/errors.rb', line 189 def event_is_present(verdict) "Expected #{stream_descr} stream not to contain #{event_descr(verdict)}, but it actually exists." end |
#event_revision_does_not_match(verdict) ⇒ String
195 196 197 198 199 200 |
# File 'lib/pg_eventstore/errors.rb', line 195 def event_revision_does_not_match(verdict) " Expected \#{stream_descr} stream to contain \#{event_descr(verdict)} with \#{revision_descr(verdict)}, \\\n but it actually has \#{verdict.current_revision} revision.\n TEXT\nend\n".strip |
#revision_descr(verdict) ⇒ String
223 224 225 226 227 228 229 230 231 |
# File 'lib/pg_eventstore/errors.rb', line 223 def revision_descr(verdict) if verdict.expected_revision.is_a?(Integer) "#{verdict.expected_revision} revision" elsif verdict.expected_revision == :event_exists 'some revision' else "#{verdict.expected_revision.inspect} revision" end end |
#stream_descr ⇒ String
203 204 205 |
# File 'lib/pg_eventstore/errors.rb', line 203 def stream_descr stream.to_hash.inspect end |
#user_friendly_message ⇒ String
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/pg_eventstore/errors.rb', line 161 def = verdicts.map do |verdict| case verdict.verdict when :event_is_absent event_is_absent(verdict) when :event_revision_does_not_match event_revision_does_not_match(verdict) when :event_is_present event_is_present(verdict) else Utils.missing_implementation!(verdict.verdict) end end .join('; ') end |