Skip to content

Releases: lasso/racket

Version 0.5.0 released!

29 Sep 15:00

Choose a tag to compare

Racket 0.5.0 has been released. This is quite a big rewrite from 0.4.0, mainly focusing on removing the heavy usage of the singleton pattern in favor of dependency injection. No notable new features are added, but the code is hopefully easier to understand.

Version 0.4.0 released!

13 Mar 16:35

Choose a tag to compare

Racket 0.4.0 has been released. This version brings a new plugin system that allow Racket to be extended. At the moment there is only one plugin available (sass), that will allow you to use create SASS files that will be automatically create CSS files for your controllers.

(! apologize for the lack of details in this release announcement. Unfortunate circumstances in my private life has forced me to prioritize other things at the moment. Development work on racket will hopefully resume shortly.)

Version 0.3.3 released!

29 Nov 21:29

Choose a tag to compare

While working on bringing plugins to Racket I notices that the code that handled helpers were in dire need of a refactoring. Before, helpers would be included on every request, when in reality they only needed to be included once. I found this to be important enough to warrant a new release, so here it is. Changes from previos version:

  • Reek errors are down to four.
  • Helpers are included on controller class load, not on request. This simplifies code in the Current module greatly.

Version 0.3.2 released!

28 Oct 20:01

Choose a tag to compare

Continued work on untangling messy stuff. Rubocop errors are down to 0, Reek errors are down to 15. Nothing particularly fancy regarding features, just nicer code.

Version 0.3.1 released!

10 Oct 15:28

Choose a tag to compare

This version bring no changes to Rackets interface, but quite big changes "under the hood". Some classes have been split into smaller ones, hopefully improving the readability of the code. About 20 reek issues and 4 rubocop issues have been fixed and I plan on having all code climate issues resolved before releasing 0.4.0. This will probably mean at least one or two more relaeses in the 0.3 series.

Version 0.3.0 released!

03 Oct 10:02

Choose a tag to compare

This version brings a new namespace (Racket::Settings) that from now on will handle all settings in Racket. This has means some major refactoring of other classes, including making stuff leaner and easier to read and understand. I have also undertaken the task to fix code that Rubocop complained about, going from about 90 issues in 0.2.0 to 10 issues in 0.3.0. I also hooked up Code Climate to the repo, making it even easier to spot problematic code.

Featurewise, this release does not contain too much other than a name change. Before, settings in controllers and applications cound be reached using .options, but now you will reach the settings using .settings instead.

Version 0.2.2 released!

21 Sep 18:38

Choose a tag to compare

This release does not contain any new features, but a lot of code has been refactored in accordance with the Ruby Style Guide. This will hopefully result in less "opaque" code in coming releases.

Version 0.2.1 released!

27 Aug 07:35

Choose a tag to compare

This release coincides with the re(launch) of my website (lassoweb.se) as it has been the main reason why I developed Racket in the first place. It now runs completely on racket.

The only "new" feeture in this release that you can now use a block to get "dynamic" layouts and views in your controller:

class MyController < Racket::Controller
  set_option(
    :default_view,
    lambda { |action, params, request|
      case action
      when :foo then 'myfoo.erb' # when action is foo we render the myfoo.erb template.
      when :bar then nil # When action is bar we don't use a template at all.
      else 'default.erb' # All other actions in the controller use the default-erb template.
      end
    }
  )
end

This feature will allow you to choose layout/view based on the action name, the action params or some data in the request. You can have any logic you want as long as you return a symbol/string or nil.

This release also marks a "slowdown" in Racket development. My vaction is over and I will not have as much time to work on Racket this autumn. I will continue to develop Racket whenever I have the time, but I'm going to focus on documenting the library/write some simple tutorials before adding any more features.

Version 0.2.0 released!

21 Aug 15:04

Choose a tag to compare

Notable changes for release 0.2.0:

  • New helper system implemented - Controllers may now gain additional method by loading helpers (using the helper class method. Current helpers include file (for sending files), routing (for routing within and between controllers) and view (for rendering custom templates.
  • Updated parameter handling. Separation of GET and POST data is now enforced.
  • JRuby support is expanded to include JRuby 9.0.0.0.

Version 0.1.1 released!

26 Jul 19:21

Choose a tag to compare

This version is mostly about refactoring. Some stuff has moved around quite a bit, but hopefully it will lead make some things easier for everyone.

There is now a helper system in place. You can now easily add methods for all of your controllers by adding classes under the Racket::Helpers namespace and then loading them with the helper keyword. Alternatively, you can also set an option for all controllers to load your heloer (by modifying Application.options[:default_controller_helpers]).

By default, all controllers load the Racket::Helpers::Routing and Racket::Helpers::View helpers, giving them the capability to route to other controllers and render custom template files. If you don't want that you can just remove the helpers from the application options. My plan is to move most of the controller methods into helpers so that they can be excluded if you do not want them.