module Sandboxy::Sandboxed::SandboxyClassMethods

Public Instance Methods

environment(value) click to toggle source
# File lib/sandboxy/sandboxed.rb, line 41
def environment(value)
  unscope(:joins, :where).environment_scoped value
end
environment_scoped(value) click to toggle source
# File lib/sandboxy/sandboxed.rb, line 45
def environment_scoped(value)
  case value
  when Sandboxy.configuration.default
    left_outer_joins(:sandbox).where(sandboxy: { environment: nil })
  else
    left_outer_joins(:sandbox).where(sandboxy: { environment: value })
  end
end
method_missing(method, *args) click to toggle source
Calls superclass method
# File lib/sandboxy/sandboxed.rb, line 25
def method_missing(method, *args)
  if method.to_s[/(.+)_environment/]
    environment($1)
  elsif method.to_s[/(.+)_environment_scoped/]
    environment_scoped($1)
  else
    super
  end
end
respond_to_missing?(method, include_private = false) click to toggle source
Calls superclass method
# File lib/sandboxy/sandboxed.rb, line 35
def respond_to_missing?(method, include_private = false)
  super ||
    method.to_s[/(.+)_environment/] ||
    method.to_s[/(.+)_environment_scoped/]
end