News

Sapphire: Redmine upgrade, new redirects

Added by Daniel Berger 17 days ago

The sapphire-lang.org site has been upgraded from 0.8.3 to 0.8.7, the last of the 0.8.x branches, which includes some XSS fixes among other things. I've also switched the session storage mechanism behind this site, so if you were logged in and were suddenly logged out, you know why.

I've also added 3 new subdomains:

Redirect to the wiki
http://wiki.sapphire-lang.org

Redirect to the main issues page
http://issues.sapphire-lang.org

Redirect to the forums
http://forums.sapphire-lang.org

Sapphire: Source now on Github

Added by Daniel Berger 122 days ago

The source code for Sapphire will henceforth be maintained on Github. You can find it at http://github.com/djberg96/Sapphire.

I'm starting over with Ruby 1.8.6-p383 as the baseline, and refactoring the tests as I go to use a more declarative style.

Sapphire: Redmine Upgrade

Added by Daniel Berger 333 days ago

The sapphire-lang.org site has been upgraded from Redmine 0.7.3 to 0.8.3. It has also been switched from FastCGI to Phusion Passenger. That will make future upgrades much easier. It's as simple as "svn update; touch tmp/restart.txt".

Sapphire: Wiki Updates

Added by Daniel Berger 577 days ago

Sapphire: Redmine upgrade

Added by Daniel Berger 603 days ago

The redmine framework has been updated from 0.6.3 to 0.7.3. Please report any Redmine specific issues at http://www.redmine.org.

Sapphire: Hash Slicing

Added by Daniel Berger 646 days ago

The Hash#[] and Hash#[]= methods have been refactored to support hash slicing out of the box.

hash = {'a', 1, 'b', 2}
hash['a', 'b'] => [1, 2]

hash['a', 'b'] = 7, 8
hash['a'] => 7
hash['b'] => 8

Sapphire: Test::Unit Improvements

Added by Daniel Berger 688 days ago

The Test::Unit library has undergone some nice improvements recently.

The Test::Unit::TestCase library now supports startup and shutdown methods. Unlike setup and teardown, which run once per test, the startup and shutdown methods only run once per test case. Useful for socket connections and the like where you only want to connect once per test case.

The assert_raise_kind_of assertion was added to better deal with cross platform systems testing. This typically means checking for SystemCallError, since different platforms raise different errors, depending on the situation.

The skip assertion was added as a handy way to skip a test based on certain conditions. Any assertions following the skip declaration will not be run and the test will be tallied as a skipped test in the final output.

Take a look at the CHANGES wiki link, and follow the test-unit link for more information.

Enjoy!

Dan

Sapphire: Dir.tmpdir integrated

Added by Daniel Berger 718 days ago

I've integrated Dir.tmpdir directly into dir.c. However, the semantics are different than Ruby's version. First, I don't validate that the path exists or is writable. That's the user's job. Second, I don't check TMPDIR, only TMP, TEMP and USERPROFILE. No one uses TMPDIR. Last, I don't alter the result based on $SAFE levels, in part because it feels arbitrary, and in part because I eventually plan on scrapping the $SAFE system completely anyway.

Dan

Sapphire: Now with AdSense

Added by Daniel Berger 733 days ago

I've added AdSense to the Sapphire project. I've chosen a small ad size, in the right hand side of the screen, so hopefully it won't annoy you to any degree.

Any money generated from AdSense (which I don't expect to be much) will go towards code bounties.

Regards,

Dan

Sapphire: Sapphire!

Added by Sapphire Admin 745 days ago

Today marks the first day of Sapphire, a fork of the Ruby programming language.

Also available in: Atom