Class: Numeric

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

Overview

The following important additions are made to Numeric:

Numeric#weeks   -- Create a Duration object with given weeks
Numeric#days    -- Create a Duration object with given days
Numeric#hours   -- Create a Duration object with given hours
Numeric#minutes -- Create a Duration object with given minutes
Numeric#seconds -- Create a Duration object with given seconds

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object

Intercept calls to .weeks, .days, .hours, .minutes and .seconds because Rails defines its own methods, so I'd like to prevent any redefining of Rails' methods.

Example

140.seconds
=> #<Duration: 2 minutes and 20 seconds>


351
352
353
354
355
356
357
# File 'lib/duration.rb', line 351

def method_missing(method, *args)
  if [:weeks, :days, :hours, :minutes, :seconds].include? method
    Duration.new(method => self)
  else
    __numeric_old_method_missing(method, *args)
  end
end

Instance Method Details

#__numeric_old_method_missingObject



340
# File 'lib/duration.rb', line 340

alias __numeric_old_method_missing method_missing