Sha256: 9cc4fb26b6f6a4a70fd0e7fe03dabce4e966c29e3e0c627b554156cf8482ef29

Contents?: true

Size: 853 Bytes

Versions: 1

Compression:

Stored size: 853 Bytes

Contents

# * George Moschovitis  <gm@navel.gr>
# (c) 2004-2005 Navel, all rights reserved.
# $Id: model.rb 1 2005-04-11 11:04:30Z gmosx $

require 'lib/content'

# The models used in the Blog part.

# 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/no_xsl_blog/lib/blog/model.rb