Skip to content
This repository has been archived by the owner on Jun 21, 2022. It is now read-only.

pboling/an_axe

Repository files navigation

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 © 2011-12 Peter Boling. See LICENSE.txt for further details.

About

TODO: one-line summary of your gem

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published