Class: ActiveSupport::Duration

Inherits:
Object
  • Object
show all
Defined in:
lib/wires/time.rb

Overview

Reopen ActiveSupport::Duration to enable nifty syntax like: 32.minutes.from_now do some_stuff end

Instance Method Summary collapse

Instance Method Details

#__original_agoObject



221
# File 'lib/wires/time.rb', line 221

alias :__original_ago :ago

#__original_sinceObject



208
# File 'lib/wires/time.rb', line 208

alias :__original_since :since

#ago(*args, &block) ⇒ Object Also known as: until



222
223
224
225
226
227
228
229
230
231
# File 'lib/wires/time.rb', line 222

def ago(*args, &block)
  if block
    on :time_scheduler_anon, block.object_id do |e| block.call(e) end
    __original_ago(*args).fire(:time_scheduler_anon, 
                                block.object_id)
    nil
  else
    __original_ago(*args)
  end
end

#since(*args, &block) ⇒ Object Also known as: from_now



209
210
211
212
213
214
215
216
217
218
# File 'lib/wires/time.rb', line 209

def since(*args, &block)
  if block
    on :time_scheduler_anon, block.object_id do |e| block.call(e) end
    __original_since(*args).fire(:time_scheduler_anon, 
                                  block.object_id)
    nil
  else
    __original_since(*args)
  end
end