module Screengem::Dampenable

Concern for adding dampening to primitives.

Public Instance Methods

dampen_for(seconds) click to toggle source

Specify dampening to apply to a primitive.

# File lib/screengem/concerns/dampenable.rb, line 37
def dampen_for(seconds)
  define_singleton_method(:seconds_to_dampen) do
    seconds
  end
end
dampen_scope(scope) click to toggle source

Specify the dampening configuration scope.

# File lib/screengem/concerns/dampenable.rb, line 28
def dampen_scope(scope)
  define_method(:dampening_scope) do
    scope
  end
end
seconds_to_dampen() click to toggle source
# File lib/screengem/concerns/dampenable.rb, line 44
def seconds_to_dampen
  dampen_configuration.seconds_to_dampen(dampening_scope, self.class.name)
end
skip_dampening() click to toggle source

Specify a primitive subclass with no dampening.

# File lib/screengem/concerns/dampenable.rb, line 19
def skip_dampening
  define_singleton_method(:supports_dampening?) do
    false
  end
end
supports_dampening?() click to toggle source

Since most primitives may be dampened.

# File lib/screengem/concerns/dampenable.rb, line 12
def supports_dampening?
  true
end

Private Instance Methods

dampen_configuration() click to toggle source
# File lib/screengem/concerns/dampenable.rb, line 50
def dampen_configuration
  Screengem::DampenConfiguration.instance.configuration
end