Sha256: ed0116767a32d233f3d1795f67368e7148666bdd155a5182cb1d0be787b9b4c0

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

# * George Moschovitis  <gm@navel.gr>
# (c) 2004 Navel, all rights reserved.
# $Id$

require 'nitro/markup'

module N 

# = BaseContent
#
# The foundamental Content Unit.
#
module BaseContent
	include Markup

	prop_accessor :title, String
	prop_accessor :body, String, :markup => true, :ui => :textarea
end

# = CreateTime mixin.
#
module CreateTime
	prop_accessor :create_time, Time
	prop_accessor :update_time, Time

	def og_pre_insert(conn)
		@create_time = @update_time = Time.now
	end
	
	def og_pre_update(conn)
		@update_time = Time.now
	end
end

# = Content
#
# The foundamental Content Unit.
#--
# THINK: rename this to Entity?
#++

module Content
	include N::BaseContent
	prop_accessor :name, String
	prop_accessor :ctime, Time
	prop_accessor :mtime, Time

	def initialize(*args)
		@ctime = @mtime = Time.now
	end
end

# = Category

class Category 
	include BaseContent
end

# = ACL
#
# Unix style permissions.

module ACL
	# bits:
	# 0, 1, 2: owner read, write, execute
	# 3, 4, 5: group read, write, execute
	# 6, 7, 8: other read, write, execute
	prop_accessor :permissions
end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nitro-0.10.0 lib/parts/content.rb
nitro-0.9.3 lib/parts/content.rb
nitro-0.9.5 lib/parts/content.rb