class RubyEventStore::ExpectedVersion
Constants
- NOT_RESOLVED
- POSITION_DEFAULT
Attributes
version[R]
Public Class Methods
any()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 8 def self.any new(:any) end
auto()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 16 def self.auto new(:auto) end
new(version)
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 22 def initialize(version) @version = version invalid_version! unless [Integer, :any, :none, :auto].any? { |i| i === version } end
none()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 12 def self.none new(:none) end
Public Instance Methods
==(other_expected_version)
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 56 def ==(other_expected_version) other_expected_version.instance_of?(self.class) && other_expected_version.version.equal?(version) end
Also aliased as: eql?
any?()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 27 def any? version.equal?(:any) end
auto?()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 31 def auto? version.equal?(:auto) end
hash()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 52 def hash version.hash ^ self.class.hash end
none?()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 35 def none? version.equal?(:none) end
resolve_for(stream, resolver = Proc.new {})
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 39 def resolve_for(stream, resolver = Proc.new {}) invalid_version! if stream.global? && !any? case version when Integer version when :none POSITION_DEFAULT when :auto resolver[stream] || POSITION_DEFAULT end end
Private Instance Methods
invalid_version!()
click to toggle source
# File lib/ruby_event_store/expected_version.rb, line 64 def invalid_version! raise InvalidExpectedVersion end