sonic-pi
https://github.com/sonic-pi-net/sonic-pi
C++
Code. Music. Live.
Numeric#second
Enables the use of time calculations and declarations, like 45.minutes + 2.hours + 4.years. These methods use Time#advance for precise date calculations when using from_now, ago, etc. as well as adding or subtracting their results from a Time object. For example: # equivalent to Time.current.advance(months: 1) 1.month.from_now # equivalent to Time.current.advance(years: 2) 2.years.from_now # equivalent to Time.current.advance(months: 4, years: 5) (4.months + 5.years).from_now While these methods provide precise calculation when used as in the examples above, care should be taken to note that this is not true if the result of `months', `years', etc is converted before use: # equivalent to 30.days.to_i.from_now 1.month.to_i.from_now # equivalent to 365.25.days.to_f.from_now 1.year.to_f.from_now In such cases, Ruby's core Date[http://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and Time[http://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision date and time arithmetic.
Edit
git clone [email protected]:sonic-pi-net/sonic-pi.git
cd sonic-pi
open app/server/ruby/vendor/activesupport-7.0.6/lib/active_support/core_ext/numeric/time.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Numeric-second-for-pr
# Commit to gitgit add app/server/ruby/vendor/activesupport-7.0.6/lib/active_support/core_ext/numeric/time.rbgit commit -m "better docs for Numeric#second"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-Numeric-second-for-pr
hub pull-request
# Celebrate!