Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 53 lines (44 sloc) 1.25 KB

dm-is-rateable

A DataMapper plugin that adds the ability to rate any model (the 5 clickable stars I see everywhere).


# GEM_DEPENDENCIES = [
#  ["dm-core",         ">=0.9.4"], 
#  ["dm-is-remixable", ">=0.9.4"], 
#  ["dm-validations",  ">=0.9.4"],
#  ["dm-aggregates",   ">=0.9.4"],
#  ["dm-timestamps",   ">=0.9.4"],
#  ["dm-types",        ">=0.9.4"],
# ]
  
class User
  include DataMapper::Resource
  property :id, Serial
end

class Trip

  include DataMapper::Resource
  property :id, Serial

  # will define and thus auto_migrate! by using dm-is-remixable:
  #
  # class TripRating
  #   include DataMapper::Resource
  #   property :id, Serial
  #   property :trip_id, Integer, :nullable => false
  #   property :user_id, Integer, :nullable => false
  #   property :rating,  Integer, :nullable => false
  #
  #   belongs_to :user
  # end
  #
  # allowing the following options:
  #
  # options = {
  #  :rater => { :name => :user_id, :type => Integer },
  #  :allowed_ratings => (0..5),
  #  :timestamps => true,
  #  :as => nil,                     # if symbol/string then add an alias by that name on has n, :ratings
  #  :class_name => "#{self}Rating"  # class_name to use for generated remixed model
  # }
  
  is :rateable #, options
  
end