Acts As Licensed is a plugin which provides a basic content licensing system to community centred Ruby On Rails applications. The plugin includes a set of Creative Commons New Zealand and Australian licenses, which can be imported (excluding the No Derivative Works variant).
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
fixtures
generators/acts_as_licensed_migration
lib
tasks
test
MIT-LICENSE
README
Rakefile
init.rb
install.rb
uninstall.rb

README

ActsAsLicenced
=====================

Some portions (rails generator) based on work by Rob Sanheim in the BrainBuster rails plugin.


INSTALL
=======

Install the plugin by running

  script/plugin install git://github.com/kete/acts_as_licensed.git

Add the migration and update your database by running

  ./script/generate acts_as_licensed_migration
  rake db:migrate

Install the licenses you want to assign to content. See a list of them by running

  rake -D acts_as_licensed

Finally, add the following line to the controller which you want to add the licensed plugin to

  acts_as_licensed


ADDITIONAL INSTALLATION
=======================

ActsAsLicensed relies on three methods within the class you add acts_as_licensed to.

They are title_for_license, author_for_license, and author_url_for_license

The defaults are usually similar to the following (adjust to suit your application):

  def title_for_license
    title
  end
  def author_for_license
    self.author.name
  end
  def author_url_for_license
    "/site/account/show/#{author_id}"
  end

You can also define a default license by setting DEFAULT_CONTENT_LICENSE somewhere in your initializers (the constant contains the id of a license in the license table).


USAGE
=====

Class Methods
-------------

You can get a list of all available licenses by using

  License.find_available

Instance Methods
----------------

Check whether the object has a license by using

  object.has_license?

Update the license, which raises an error if the object already have a license, by using

  object.license_id = id_of_new_license

Retrieve the metadata, html indicating the license type of the object, by using

  object.license_metadata

Helper Methods
--------------

Check whether licenses are available through

  licenses_are_available?

Get the default license if configured else nil through

  configured_default_license

Iterate over each license using

  available_licenses do |license|
    puts license.name
  end

Helper methods for license selection in forms include:

  radio_button_for_license_selection(object_name, license)
  radio_button_with_label_and_image(object_name, method, tag_value, label, image_url = nil, options = {}, options_for_label = {})
  radio_button_with_label(object_name, method, tag_value, label, options = {}, options_for_label = {})


Copyright (c) 2008 Katipo Communications LTD, released under the MIT license.