Module: Lebowski::Foundation::Mixins::StallSupport

Included in:
UserActions
Defined in:
lib/lebowski/foundation/mixins/stall_support.rb

Overview

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

Constant Summary

DEFAULT_STALL =
0.2
DEFAULT_KEY_STALLS =
{
  :click => 0.2,
  :double_click => 0.5,
  :select => 0.5
}
@@adjusted_default_stall =
DEFAULT_STALL
@@adjusted_default_key_stalls =
{}

Class Method Summary (collapse)

Instance Method Summary (collapse)

Class Method Details

+ (Object) adjust_all_stalls(stall)



31
32
33
34
35
36
37
# File 'lib/lebowski/foundation/mixins/stall_support.rb', line 31

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

+ (Object) adjust_default_key_stall(key, stall)



44
45
46
47
# File 'lib/lebowski/foundation/mixins/stall_support.rb', line 44

def self.adjust_default_key_stall(key, stall)
  return if stall.nil? or stall <= 0
  @@adjusted_default_key_stalls[key] = stall
end

+ (Object) adjust_default_stall(stall)



39
40
41
42
# File 'lib/lebowski/foundation/mixins/stall_support.rb', line 39

def self.adjust_default_stall(stall)
  return if stall.nil? or stall <= 0
  @@adjusted_default_stall = stall
end

+ (Object) reset



49
50
51
52
# File 'lib/lebowski/foundation/mixins/stall_support.rb', line 49

def self.reset()
  @@adjusted_default_stall = DEFAULT_STALL
  @@adjusted_default_key_stalls.clear
end

Instance Method Details

- (Object) stall(key, stall = nil)



54
55
56
57
58
59
60
61
62
# File 'lib/lebowski/foundation/mixins/stall_support.rb', line 54

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