An Axe is a Rails3 update and Enginification of Modern Savage Beast, which is a revision of the old Savage Beast Plugin.
Savage Beast is a Rails forum plugin based on the popular Beast plugin. The Savage Beast plugin has been installed in hundreds of Rails sites, partially because it's the only viable choice for a message forum plugin, but also because it incorporates a lot of features that would be a time-consuming headache for you to implement yourself.
Differences from what may or may not be in any of the ancestors of An Axe:
Allow forums to be scoped through another class, like account/subdomain/group/whatever Views are now HAML I18n api for static text (no more gettext/gibberish) Works with Rails 3.2 and Ruby 1.9.3 (older versions of rails back to 3.1 and ruby back to 1.9.2 may work)
Seamless Upgrade from some flavors of (Modern) Savage Beast Maintain compatibility with current Rails and Ruby releases.
This version of (Modern Savage Beast with) An Axe has been tested almost working in Rails 3.2.
Install from source, as it is not yet released to RubyGems.org
All of the following *may be wrong* or not work. I am first upgrading an existing installation of Modern Savage Beast, and then will get to a proper setup.
rake ax_axe:bootstrap_db rake ax_axe:bootstrap_assets rake ax_axe:add_gems rake ax_axe:add_includes #assumes that your User-Model is called user.rb
(savage_beast rake tasks have been deprecated)
You will also need some plugins to use an axe?
white_list ? white_list_formatted_content ?
These gem dependencies will be added to your app (along with their dependencies):
gem 'will_paginate', '~> 3.0.0' gem 'acts_as_list', :git => 'git://github.com/chaffeqa/acts_as_list.git' # -acts_as_list- gem 'acts-as-taggable-on', '~> 2.0' # -acts_as_taggable_on- # TODO: Not sure yet how to implement the sanitization of fields, but trying to remove loofah dependency #gem 'loofah', '~> 1.0.0' #gem 'loofah-activerecord', '~> 1.0.0'
Implement in your User model:
display_name admin? currently_online
In your ApplicationController you will need:
current_user login_required logged_in? authorized?
In your ApplicationHelper you will need:
After you've done that, your forum should be up and ready, you could reach it over server.tld/forums. Feel free to overwrite parts of the Forum for your own needs in the application. All of modern_savage_beast's controllers and views are in the Forums namespace.
Feel also free to contribute or ask me some questions. More Information is definitely to come in the Future! :)
For additional information on the old savage Beast roots, see www.williambharding.com/blog/rails/savage-beast-23-a-rails-22-23-message-forum-plugin/
Contributing to an_axe
Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
Fork the project
Start a feature/bugfix branch
Commit and push until you are happy with your contribution
Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Copyright © 2011-12 Peter Boling. See LICENSE.txt for further details.