
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
== Description one9 is a commandline tool to help convert your ruby 1.8.7 code to 1.9.2. It works by spying on your tests and detecting 1.9 changes. Once your test suite finishes, one9 prints a report listing the exact locations of methods that have changed in 1.9. To make the transition even easier, one9 can open this list in an editor. So what's your excuse for not upgrading to 1.9.2? ;)
== Install
$ gem install one9
If you're using bundler (the default in rails3), add one9 to your Gemfile if your tests are invoked by bundler i.e. one9 test, one9 test rake * or one9 test bundle exec *.
== Usage
Run your tests using ruby 1.8 in the root directory of a gem or Rails app:
# Runs `rake test` by default
$ one9 test
# To run any test command, just prefix it with one9 test:
# Run all cucumber specs
$ one9 test cucumber
# Only run model specs
$ one9 test rspec spec/models
After your tests, you'll see a report. Here's what it all looks like when run on {boson}[http://github.com/cldwalker/boson]:
$ one9 test
............................................................................................................................................................................................................................................................................................................
Finished in 0.704555 seconds.
300 tests, 580 assertions, 0 failures, 0 errors
** One9 Report **
+---------------------------------+-------+--------------------------------------------------------------+--------+--------------------------------------------------------------+
| method | count | message | type | lines |
+---------------------------------+-------+--------------------------------------------------------------+--------+--------------------------------------------------------------+
| Module#instance_methods | 5 | Returns array of symbols instead of array of strings | change | lib/boson/util.rb:39:in `detect',lib/boson/util.rb:40:in ... |
| Module#private_instance_methods | 2 | Returns array of symbols instead of array of strings | change | lib/boson/inspectors/argument_inspector.rb:23:in `scrape_... |
| Hash#to_s | 4 | An alias of #inspect instead of a spaceless join of the e... | change | lib/boson/loader.rb:87:in `initialize_library_module',lib... |
| Hash#select | 4 | Returns a hash instead of an association array | change | lib/boson/loader.rb:109:in `set_library_commands',lib/bos... |
+---------------------------------+-------+--------------------------------------------------------------+--------+--------------------------------------------------------------+
4 rows in set
To edit these possible changes:
# Opens all changes
$ one9 edit
# Only open a subset of changes:
# Opens Hash changes
$ one9 edit Hash
# Only open Hash#to_s changes
$ one9 edit Hash#to_s
Currently this opens the quickfix list in vim. Patches for emacs and other editors welcome :)
If your editor isn't supported, you can still view the possible changes:
$ one9 files
+---------------------------------+---------------------------------------------------------------------+
| name | line |
+---------------------------------+---------------------------------------------------------------------+
| Module#instance_methods | lib/boson/util.rb:39:in `detect' |
| Module#instance_methods | lib/boson/util.rb:40:in `detect' |
| Module#instance_methods | lib/boson/loader.rb:101:in `check_for_method_conflicts' |
| Module#instance_methods | lib/boson/util.rb:44:in `detect' |
| Module#instance_methods | lib/boson/namespace.rb:28:in `boson_commands' |
...
== Configure
one9 comes with a decent list of 1.9 changes and descriptions. If you'd like to add your own changes, add them to your ~/.one9rc. For example:
# For methods that have changed in 1.9
change 'Class#instance_method', 'Some description'
# For methods that have been deleted in 1.9
delete 'Class.class_method', 'Some description'
For more examples, {see the defaults that one9 defines}[https://github.com/cldwalker/one9/blob/master/lib/one9/defaults.rb].
If I've missed an important 1.9 change, feel free to fork and pull.
== Goal This gem aims to get the ruby community to seriously use 1.9.2 and to port as many of the 1.8 gems to 1.9. Since this gem maintains a list of 1.9 changes, it could be used as a multi-purpose tool. Some ideas for future commands:
If you're interested in implementing these or other such commands, please do contribute.
== Limitations
one9 test
will overwrite your
previous saved changes.== Credits
== 1.9 Links
== Links
FAQs
Unknown package
We found that one9 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.