Sha256: 5d4d336beb902cac9d72931b3c0f8941c4a018b70fc0b8f6f39e739c48de7f0f

Contents?: true

Size: 819 Bytes

Versions: 1

Compression:

Stored size: 819 Bytes

Contents

# * George Moschovitis  <gm@navel.gr>
# (c) 2004-2005 Navel, all rights reserved.
# $Id: blog.rb 20 2005-04-15 15:18:36Z gmosx $

require 'models/content'

# Forward reference to the Comment definition. 

class Comment; end

# Common properties/methods for the other classes.
# Since markup is required, automatically handles
# the markup expanding/compacting for the body.

module Common
	include BaseContent
	include CreateTime

	prop_accessor :author, String
	validate_value :body
end

# An entry in the Blog.

class BlogEntry 
	include Common
	has_many :comments, Comment, :linkback => 'entry_oid'
	validate_value :title, :msg => 'Please provide a title'
end

# A comment to the blog entry.

class Comment 
	include Common
	belongs_to :entry, BlogEntry
	validate_value :author, :msg => 'Please enter your name'
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nitro-0.16.0 examples/blog/src/models/blog.rb