Class: Mongoid::Ids::CollisionResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid/ids/collision_resolver.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, field_name, retry_count) ⇒ CollisionResolver

Returns a new instance of CollisionResolver.



11
12
13
14
15
16
17
18
19
# File 'lib/mongoid/ids/collision_resolver.rb', line 11

def initialize(klass, field_name, retry_count)
  @create_new_token = Proc.new {|doc|}
  @klass = klass
  @field_name = field_name
  @retry_count = retry_count
  klass.send(:include, Mongoid::Ids::Collisions)
  alias_method_with_collision_resolution(:insert)
  alias_method_with_collision_resolution(:upsert)
end

Instance Attribute Details

#create_new_tokenObject

Returns the value of attribute create_new_token.



6
7
8
# File 'lib/mongoid/ids/collision_resolver.rb', line 6

def create_new_token
  @create_new_token
end

#field_nameObject (readonly)

Returns the value of attribute field_name.



8
9
10
# File 'lib/mongoid/ids/collision_resolver.rb', line 8

def field_name
  @field_name
end

#klassObject (readonly)

Returns the value of attribute klass.



7
8
9
# File 'lib/mongoid/ids/collision_resolver.rb', line 7

def klass
  @klass
end

#retry_countObject (readonly)

Returns the value of attribute retry_count.



9
10
11
# File 'lib/mongoid/ids/collision_resolver.rb', line 9

def retry_count
  @retry_count
end

Instance Method Details

#create_new_token_for(document) ⇒ Object



21
22
23
# File 'lib/mongoid/ids/collision_resolver.rb', line 21

def create_new_token_for(document)
  @create_new_token.call(document)
end