Module: UsefulDuration
- Defined in:
- lib/useful_duration.rb,
lib/useful_duration/version.rb
Constant Summary collapse
- VERSION =
"0.0.2"
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/useful_duration.rb', line 9 def self.included(base) # Some nice - built in durations useful_duration :bravehearts, 10620 useful_duration :in_a_gadda_da_vidas, 1023 useful_duration :doctor_zhivagos, 11820 end |
Instance Method Details
#useful_duration(name, value) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/useful_duration.rb', line 16 def useful_duration name, value # Send a `define_method` to Numeric class Numeric.send(:define_method, name) do ActiveSupport::Duration.new(self * value, [[:seconds, self * value]]) end # Alias the "singular" method with it # For example, useful_duration :fortnights, 1209600 # will create #fortnights and #fortnight Numeric.send(:alias_method, singular_method(name), name) end |