Module: ActiveRecordDynamicScope

Defined in:
lib/activerecord_dynamic_scope.rb,
lib/activerecord_dynamic_scope/railtie.rb,
lib/activerecord_dynamic_scope/version.rb,
lib/activerecord_dynamic_scope/extension.rb

Defined Under Namespace

Modules: Extension Classes: Railtie

Constant Summary collapse

KEY =
:activerecord_dynamic_scope
VERSION =
'1.0.1'

Class Method Summary collapse

Class Method Details

.current(name) ⇒ Object



13
14
15
# File 'lib/activerecord_dynamic_scope.rb', line 13

def current(name)
  Thread.current[KEY].to_h[name]
end

.with(hash = {}) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/activerecord_dynamic_scope.rb', line 17

def with(hash = {})
  old = Thread.current[KEY]
  Thread.current[KEY] = Thread.current[KEY].to_h.merge(hash)
  yield
ensure
  Thread.current[KEY] = old
end

.without(keys) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/activerecord_dynamic_scope.rb', line 25

def without(keys)
  old = Thread.current[KEY]
  Thread.current[KEY] = Thread.current[KEY].to_h.except(keys)
  yield
ensure
  Thread.current[KEY] = old
end