TODO: one-line summary of your gem
Ruby JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
config
db/migrate
lib
spec
vendor
.document
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE.txt
README.rdoc
Rakefile
VERSION
an_axe.gemspec

README.rdoc

(Modern Savage Beast with) An Axe

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)

Goals:

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.

Installation

Install from source, as it is not yet released to RubyGems.org

Setup

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:

admin?

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

Copyright © 2011-12 Peter Boling. See LICENSE.txt for further details.