Module: EbsSnapper::Ebs::PausingEnumerable

Defined in:
lib/ebs_snapper/ebs.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



104
105
106
107
108
109
110
111
112
113
114
# File 'lib/ebs_snapper/ebs.rb', line 104

def self.included(base)
  base.class_eval do
    if !method_defined?(:orig_each)
      alias_method :orig_each, :each
      def each(&block)
        orig_each(&block)
        sleep PausingEnumerable.pause_time # we need to slow down our processing..
      end
    end
  end
end

.pause_timeObject



100
101
102
# File 'lib/ebs_snapper/ebs.rb', line 100

def self.pause_time
   @pause_time || EbsSnapper::Ebs::DEFAULT_PAUSE_TIME
end

.pause_time=(time) ⇒ Object



96
97
98
# File 'lib/ebs_snapper/ebs.rb', line 96

def self.pause_time=(time)
   @pause_time = time
end

.wrap(enumerable) ⇒ Object



116
117
118
119
120
121
# File 'lib/ebs_snapper/ebs.rb', line 116

def self.wrap(enumerable)
  enumerable.class.module_eval do
    include PausingEnumerable
  end
  enumerable
end