Class: Divan::Models::Revision
- Inherits:
-
Base
- Object
- Base
- Divan::Models::Revision
show all
- Defined in:
- lib/divan/models/revision.rb
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
all, create, #delete, delete_all, find, find_all, #revision, #revision!, #revision_ids, #save, strategies
Constructor Details
#initialize(*args) ⇒ Revision
Returns a new instance of Revision.
6
7
8
9
10
11
|
# File 'lib/divan/models/revision.rb', line 6
def initialize(*args)
super
@revisioned_doc = @meta_attributes.delete :revision_of
@revisioned_at = @meta_attributes.delete :revisioned_at
@revisioned_by = @meta_attributes.delete :revisioned_by
end
|
Class Attribute Details
.revisioned_class ⇒ Object
Returns the value of attribute revisioned_class.
19
20
21
|
# File 'lib/divan/models/revision.rb', line 19
def revisioned_class
@revisioned_class
end
|
Instance Attribute Details
#revisioned_at ⇒ Object
Returns the value of attribute revisioned_at.
4
5
6
|
# File 'lib/divan/models/revision.rb', line 4
def revisioned_at
@revisioned_at
end
|
#revisioned_by ⇒ Object
Returns the value of attribute revisioned_by.
4
5
6
|
# File 'lib/divan/models/revision.rb', line 4
def revisioned_by
@revisioned_by
end
|
#revisioned_doc ⇒ Object
Returns the value of attribute revisioned_doc.
4
5
6
|
# File 'lib/divan/models/revision.rb', line 4
def revisioned_doc
@revisioned_doc
end
|
Class Method Details
.create_by_revisioned_doc(rev_doc, rev_by = nil) ⇒ Object
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/divan/models/revision.rb', line 21
def create_by_revisioned_doc(rev_doc, rev_by = nil)
self.new rev_doc.params
self.id = URI.encode "_revision/#{rev_doc.rev}"
@revisioned_doc = rev_doc
@revisioned_at = Divan::Utils.parse_time rev_doc.last_request.[:date]
@revisioned_by = rev_by
self.save
end
|
.inherithed(subclass) ⇒ Object
55
56
57
|
# File 'lib/divan/models/revision.rb', line 55
def inherithed(subclass)
nil
end
|
.top_level_model!(*args) ⇒ Object
47
48
49
|
# File 'lib/divan/models/revision.rb', line 47
def top_level_model!(*args)
raise "Can't modify revision top level"
end
|
.top_level_model? ⇒ Boolean
51
52
53
|
# File 'lib/divan/models/revision.rb', line 51
def top_level_model?
revisioned_class.top_level_model?
end
|
.type_field ⇒ Object
43
44
45
|
# File 'lib/divan/models/revision.rb', line 43
def type_field
revisioned_class.type_field
end
|
.type_name ⇒ Object
39
40
41
|
# File 'lib/divan/models/revision.rb', line 39
def type_name
revisioned_class.type_name
end
|
Instance Method Details
#rollback ⇒ Object
13
14
15
16
|
# File 'lib/divan/models/revision.rb', line 13
def rollback
revisioned_doc.attributes = @attributes.clone
revisioned_doc.save :last_wins
end
|