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.2.0'
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
|
.with!(hash = {}) ⇒ Object
33
34
35
|
# File 'lib/activerecord_dynamic_scope.rb', line 33
def with!(hash = {})
Thread.current[KEY] = Thread.current[KEY].to_h.merge(hash)
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.flatten)
yield
ensure
Thread.current[KEY] = old
end
|
.without!(*keys) ⇒ Object
37
38
39
|
# File 'lib/activerecord_dynamic_scope.rb', line 37
def without!(*keys)
Thread.current[KEY] = Thread.current[KEY].to_h.except(*keys.flatten)
end
|