Adds RemixeeClassMethods and RemixeeInstanceMethods to any model that is: remixable
class User #Remixer
remixes Commentable remixes Vote
end
module Commentable #Remixable
include DataMapper::Resource is :remixable, :suffix => "comment"
end
module Vote #Remixable
include DataMapper::Resource is :remixable
These options are just available for whatever reason your Remixable Module name might not be what you'd like to see the table name and property accessor named. These are just configurable defaults, upon remixing the class_name and accessor there take precedence over the defaults set here
:suffix <String>
Table suffix, defaults to YourModule.name.downcase.singular
Yields table name of remixer_suffix; ie user_comments, user_votes
# File lib/dm-is-remixable/is/remixable.rb, line 51 def is_remixable(options={}) extend DataMapper::Is::Remixable::RemixeeClassMethods include DataMapper::Is::Remixable::RemixeeInstanceMethods @is_remixable = true # support clean suffixes for nested modules inflector = DataMapper::Inflector default_suffix = inflector.demodulize(self.name) default_suffix = inflector.singularize(default_suffix) default_suffix = inflector.underscore(default_suffix) suffix(options.delete(:suffix) || default_suffix) end
Generated with the Darkfish Rdoc Generator 2.