Module: DataMapper::DefaultScope::ClassMethods

Defined in:
lib/dm-default-scope.rb

Instance Method Summary collapse

Instance Method Details

#default_scope(*args) ⇒ Object



8
9
10
11
# File 'lib/dm-default-scope.rb', line 8

def default_scope(*args)
  return Thread.current[scope_key] if Thread.current[scope_key]
  return @default_scope ||{}
end

#scope_keyObject



24
25
26
# File 'lib/dm-default-scope.rb', line 24

def scope_key
  "dm_default_scope_#{self}"
end

#set_default_scope(scope) ⇒ Object



13
14
15
# File 'lib/dm-default-scope.rb', line 13

def set_default_scope(scope)
  @default_scope = scope
end

#unscopedObject



17
18
19
20
21
22
# File 'lib/dm-default-scope.rb', line 17

def unscoped
  Thread.current[scope_key] = {}
  result = yield
ensure
  Thread.current[scope_key] = nil
end