Sha256: e219ab192a32018abbf3e80228b2ed2998094d2c49b59efa9e3f375e27b4c99e
Contents?: true
Size: 1.21 KB
Versions: 5
Compression:
Stored size: 1.21 KB
Contents
class Canvas include Mongoid::Document field :name embeds_many :shapes embeds_one :writer embeds_one :palette def render shapes.each { |shape| render } end end class Browser < Canvas field :version, :type => Integer def render; end end class Firefox < Browser field :user_agent def render; end end class Shape include Mongoid::Document field :x, :type => Integer, :default => 0 field :y, :type => Integer, :default => 0 embedded_in :canvas, :inverse_of => :shapes def render; end end class Square < Shape field :width, :type => Integer, :default => 0 field :height, :type => Integer, :default => 0 end class Circle < Shape field :radius, :type => Integer, :default => 0 end class Writer include Mongoid::Document field :speed, :type => Integer, :default => 0 embedded_in :canvas, :inverse_of => :writer def write; end end class HtmlWriter < Writer def write; end end class PdfWriter < Writer def write; end end class Palette include Mongoid::Document embedded_in :canvas, :inverse_of => :palette embeds_many :tools end class Tool include Mongoid::Document embedded_in :palette, :inverse_of => :tools end class Pencil < Tool; end class Eraser < Tool; end
Version data entries
5 entries across 5 versions & 2 rubygems