Module: Mongoid::Revisions

Extended by:
ActiveSupport::Concern
Defined in:
lib/mongoid_revisions/revisions.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#at_revision(revision) ⇒ Object

RETURN A SPECIFIC REVISION



33
34
35
# File 'lib/mongoid_revisions/revisions.rb', line 33

def at_revision(revision)
	self.class.where(:token=>self.token,:revision=>revision.to_i).first
end

#branchObject

CREATE A NEW BRANCH



64
65
66
# File 'lib/mongoid_revisions/revisions.rb', line 64

def branch
	self._revise_or_branch(0)
end

#nextObject

RETURN NEXT REVISION



43
44
45
# File 'lib/mongoid_revisions/revisions.rb', line 43

def next
	at_revision(self.revision+1)
end

#previousObject

RETURN PREVIOUS REVISION



48
49
50
# File 'lib/mongoid_revisions/revisions.rb', line 48

def previous
	at_revision(self.revision-1)
end

#reviseObject

CREATE A NEW REVISION FOR THE DOCUMENT



59
60
61
# File 'lib/mongoid_revisions/revisions.rb', line 59

def revise
			self._revise_or_branch((self.revision || 1) + 1,self.token)
end

#revision=(rev) ⇒ Object

BLOCK ACCESS TO REVISION ATTRIBUTE



18
19
20
# File 'lib/mongoid_revisions/revisions.rb', line 18

def revision=(rev)
	# DOES NOTHING
end

#revisionsObject

RETURN ALL REVISIONS FOR THIS DOCUMENT



28
29
30
# File 'lib/mongoid_revisions/revisions.rb', line 28

def revisions
	self.class.where(:token=>self.token).order_by([[:revision,:asc]])
end

#tag_revision(tag) ⇒ Object

ASSIGN A NEW TAG TO THIS REVISION



53
54
55
56
# File 'lib/mongoid_revisions/revisions.rb', line 53

def tag_revision(tag)
	self.tag=tag
	self.save
end

#tagged(tag) ⇒ Object

RETURN A SPECIFIC REVISION WITH A SPECIFIC TAG



38
39
40
# File 'lib/mongoid_revisions/revisions.rb', line 38

def tagged(tag)
	self.class.where(:token=>self.token,:tag=>tag).first
end

#token=(tok) ⇒ Object

BLOCK ACCESS TO TOKEN ATTRIBUTE



23
24
25
# File 'lib/mongoid_revisions/revisions.rb', line 23

def token=(tok)
	# DOES NOTHING
end