module Lebowski::Foundation::Mixins::StallSupport

Mixin provides support to objects that need to stall an action. This is needed in many cases where a user action is being performed. If an action is performed to quickly then SproutCore may not respond correctly and therefore cause unexpected behavior in the application

Constants

DEFAULT_KEY_STALLS
DEFAULT_STALL

Public Class Methods

adjust_all_stalls(stall) click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 27
def self.adjust_all_stalls(stall)
  return if stall.nil? or stall <= 0
  @@adjusted_default_stall = stall
  DEFAULT_KEY_STALLS.each_key do |key|
    @@adjusted_default_key_stalls[key] = stall
  end
end
adjust_default_key_stall(key, stall) click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 40
def self.adjust_default_key_stall(key, stall)
  return if stall.nil? or stall <= 0
  @@adjusted_default_key_stalls[key] = stall
end
adjust_default_stall(stall) click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 35
def self.adjust_default_stall(stall)
  return if stall.nil? or stall <= 0
  @@adjusted_default_stall = stall
end
reset() click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 45
def self.reset()
  @@adjusted_default_stall = DEFAULT_STALL
  @@adjusted_default_key_stalls.clear
end

Private Class Methods

default_key_stall(key) click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 66
def self.default_key_stall(key)
  value = @@adjusted_default_key_stalls[key]
  if value.nil?
    value = DEFAULT_KEY_STALLS[key]
    return default_stall if value.nil?
    return value
  end
  return value
end
default_stall() click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 62
def self.default_stall()
  return @@adjusted_default_stall
end

Public Instance Methods

stall(key, stall=nil) click to toggle source
# File lib/lebowski/foundation/mixins/stall_support.rb, line 50
def stall(key, stall=nil)
  if stall.nil?
    sleep StallSupport.default_key_stall(key)
  elsif stall <= 0
    sleep StallSupport.default_stall
  else
    sleep stall
  end
end