dm-is-predefined

Description

A DataMapper plugin for adding predefined resources to Models.

Example

require 'dm-core'
require 'dm-is-predefined'

class Licence

  include DataMapper::Resource

  is :predefined

  # Name of the Licence
  property :name, String

  # URL to the licence
  property :url, String

  predefine :gpl2,
            :name => 'GPL-2',
            :url => 'http://www.gnu.org/copyleft/gpl.html'

  predefine :mit, :name => 'MIT'

end


License.predefined
# => [:gpl2, :mit]

License.predefined?(:gpl2)
# => true

Licence.gpl2
# => #<Licence: id: 1, name: "GPL-2", url: "http://www.gnu.org/copyleft/gpl.html">

Licence.predefined_resource(:mit)
# => #<Licence: id: 2, name: "MIT">

License.first_or_predefined(:name => 'GPL-2')
# => #<License: id: 1, name: "GPL-2", url: "http://www.gnu.org/copyleft/gpl.html">

Requirements

Install

$ gem install dm-is-predefined

License

Copyright (c) 2008-2011 Hal Brodigan

See LICENSE for license information.