[ANN] Duration 0.0.4

M

Matthew Harris

Hi,

I'd like to happily introduce Duration, the package for managing
timespan durations. Have you ever been in a situation where you wanted
to print a human-readable representation of a duration, maybe
something like "4 days, 20 minutes and 8 seconds"?

Well, Duration gives you this functionality. I have written a detailed
wiki article at http://wiki.rubyonrails.org/rails/pages/Duration where
you can read about how to install and use Duration.

The current version is 0.0.4 and is quite stable. If you find any
bugs, please email me the bug with a relevant email subject.

Any feature requests should be sent to my email as well, as I am very
interested in to hear and possibly implement what you as the user
would feel would enhance Duration.

Thanks.
 
M

Matthew Harris

You mention that it can convert number of days/weeks into months. How do
you deal with the fact that a "month" doesn't have a standard number of
days? Do you do as the Rails extension does by assuming a fixed number, or
some other form of trickery?

Since durations are only based on timespans of fixed lengths, they do
not work relatively. So there is no time-detection magic to determine
the days in a given month, because also durations don't distinguish
between what month it is (whether it be January or Feburary).
BigDuration, the class that supports years and months will assume 30
days as 1 month, and 12 months as 1 year.
 
J

Jeremy Tregunna

Since durations are only based on timespans of fixed lengths, they do
not work relatively. So there is no time-detection magic to determine
the days in a given month, because also durations don't distinguish
between what month it is (whether it be January or Feburary).
BigDuration, the class that supports years and months will assume 30
days as 1 month, and 12 months as 1 year.

Just to add a little bit here, in Io, our Duration module doesn't
know anything about months at the moment, instead adding up days. It
could keep a list holding the number of days in a month (in the case
of february, if a leap year is detected, replace the second item in
the list (28) with 29). Now that extension is pretty easy, but right
now we only keep track of years, days, hours, and so on. You might
consider doing something similar. It's fairly straight forward.

Also, out of curiosity, why have two Duration classes? I can't see
how BigDuration would be required, perhaps could you elaborate a little?
 
M

Matthew Harris

Just to add a little bit here, in Io, our Duration module doesn't
know anything about months at the moment, instead adding up days. It
could keep a list holding the number of days in a month (in the case
of february, if a leap year is detected, replace the second item in
the list (28) with 29). Now that extension is pretty easy, but right
now we only keep track of years, days, hours, and so on. You might
consider doing something similar. It's fairly straight forward.

Also, out of curiosity, why have two Duration classes? I can't see
how BigDuration would be required, perhaps could you elaborate a little?

Duration and BigDuration are separate because BigDuration
independantly deals with years and months. Duration, when given a year
or a month will automatically change those to the number of weeks. I
wanted to strictly limit Duration to consistent numbers (weeks, days,
hours, minutes, seconds) and BigDuration to the inconsistent numbers
(months).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,043
Latest member
CannalabsCBDReview

Latest Threads

Top