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.0'

Class Method Summary collapse

Class Method Details

.current(name) ⇒ Object



11
12
13
# File 'lib/activerecord_dynamic_scope.rb', line 11

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

.with(hash = {}) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/activerecord_dynamic_scope.rb', line 15

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



23
24
25
26
27
28
29
# File 'lib/activerecord_dynamic_scope.rb', line 23

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