Module: ScopedAttrAccessible

Defined in:
lib/scoped_attr_accessible.rb,
lib/scoped_attr_accessible/sanitizer.rb,
lib/scoped_attr_accessible/active_model_mixin.rb

Defined Under Namespace

Modules: ActiveModelMixin Classes: Railtie, Sanitizer

Constant Summary collapse

GLOBAL_SCOPE_KEY =
:_scoped_attr_accessible_sanitizer_scope

Class Method Summary collapse

Class Method Details

.current_sanitizer_scopeObject



17
18
19
# File 'lib/scoped_attr_accessible.rb', line 17

def self.current_sanitizer_scope
  Thread.current[GLOBAL_SCOPE_KEY]
end

.current_sanitizer_scope=(value) ⇒ Object



21
22
23
# File 'lib/scoped_attr_accessible.rb', line 21

def self.current_sanitizer_scope=(value)
  Thread.current[GLOBAL_SCOPE_KEY] = value
end

.mixin!Object

Mixes the am mixin into ActiveModel's mass assignment helpers.



8
9
10
11
12
13
# File 'lib/scoped_attr_accessible.rb', line 8

def self.mixin!
  require 'active_model/mass_assignment_security'
  ActiveModel::MassAssignmentSecurity.module_eval do
    extend ScopedAttrAccessible::ActiveModelMixin::IncludedHook
  end
end

.with_sanitizer_scope(scope) ⇒ Object



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

def self.with_sanitizer_scope(scope)
  old_sanitizer_scope = self.current_sanitizer_scope
  self.current_sanitizer_scope = scope
  yield if block_given?
ensure
  self.current_sanitizer_scope = old_sanitizer_scope
end