Method: Hakuban::ObjectState#initialize

Defined in:
lib/hakuban/object_state.rb

#initialize(data, version: nil, format: nil, synchronized_us_ago: 0, &block) ⇒ ObjectState

Returns a new instance of ObjectState.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/hakuban/object_state.rb', line 11

def initialize(data, version: nil, format: nil, synchronized_us_ago: 0, &block)
  super()
  if version.nil?
    timestamp = Time.new
    version = [0, timestamp.to_i, timestamp.nsec]
  end
  @version = version
  @format = [format || []].flatten
  @synchronized_us_ago = synchronized_us_ago
  @data = data
  @pointer = false
  Thread.handle_interrupt(Object => :never) {
    self.do_and_drop_or_return(&block)
  }
end