Class: Pageflow::DraftEntry
- Inherits:
-
Object
- Object
- Pageflow::DraftEntry
show all
- Includes:
- ActiveModel::Conversion
- Defined in:
- app/models/pageflow/draft_entry.rb
Defined Under Namespace
Classes: InvalidForeignKeyCustomAttributeError
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(entry, draft = nil) ⇒ DraftEntry
Returns a new instance of DraftEntry.
33
34
35
36
|
# File 'app/models/pageflow/draft_entry.rb', line 33
def initialize(entry, draft = nil)
@entry = entry
@draft = draft || entry.draft
end
|
Instance Attribute Details
#draft ⇒ Object
Returns the value of attribute draft.
7
8
9
|
# File 'app/models/pageflow/draft_entry.rb', line 7
def draft
@draft
end
|
#entry ⇒ Object
Returns the value of attribute entry.
7
8
9
|
# File 'app/models/pageflow/draft_entry.rb', line 7
def entry
@entry
end
|
Class Method Details
.accessible_by(ability, action) ⇒ Object
92
93
94
95
96
|
# File 'app/models/pageflow/draft_entry.rb', line 92
def self.accessible_by(ability, action)
Entry.includes(:draft).accessible_by(ability, action).map do |entry|
DraftEntry.new(entry)
end
end
|
.find(id) ⇒ Object
84
85
86
|
# File 'app/models/pageflow/draft_entry.rb', line 84
def self.find(id)
new(Entry.find(id))
end
|
.for_file_usage(usage) ⇒ Object
88
89
90
|
# File 'app/models/pageflow/draft_entry.rb', line 88
def self.for_file_usage(usage)
new(usage.revision.entry)
end
|
Instance Method Details
#create_file!(file_type, attributes) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
|
# File 'app/models/pageflow/draft_entry.rb', line 43
def create_file!(file_type, attributes)
check_foreign_key_custom_attributes(file_type.custom_attributes, attributes)
file = file_type.model.create!(attributes.except(:configuration)) do |f|
f.entry = entry
end
usage = @draft.file_usages.create_with_lock!(file: file,
configuration: attributes[:configuration])
UsedFile.new(file, usage)
end
|
#entry_title ⇒ Object
So we can always get to the original Entry title.
39
40
41
|
# File 'app/models/pageflow/draft_entry.rb', line 39
def entry_title
entry.title
end
|
106
107
108
|
# File 'app/models/pageflow/draft_entry.rb', line 106
def home_button
HomeButton.new(draft, theming)
end
|
110
111
112
|
# File 'app/models/pageflow/draft_entry.rb', line 110
def overview_button
OverviewButton.new(draft)
end
|
#remove_file(file) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'app/models/pageflow/draft_entry.rb', line 55
def remove_file(file)
draft.file_usages.where(file: file).destroy_all
file.file_type.nested_file_types.each do |nested_file_type|
nested_file_ids = file.nested_files(nested_file_type.model).map(&:id)
draft
.file_usages
.where(file_type: nested_file_type.model.name,
file_id: nested_file_ids)
.destroy_all
end
file.destroy if file.usages.reload.empty?
end
|
114
115
116
|
# File 'app/models/pageflow/draft_entry.rb', line 114
def resolve_widgets(options = {})
widgets.resolve(Pageflow.config_for(entry), options)
end
|
#save! ⇒ Object
76
77
78
|
# File 'app/models/pageflow/draft_entry.rb', line 76
def save!
draft.save!
end
|
#stylesheet_cache_key ⇒ Object
102
103
104
|
# File 'app/models/pageflow/draft_entry.rb', line 102
def stylesheet_cache_key
draft.cache_key
end
|
#stylesheet_model ⇒ Object
98
99
100
|
# File 'app/models/pageflow/draft_entry.rb', line 98
def stylesheet_model
draft
end
|
80
81
82
|
# File 'app/models/pageflow/draft_entry.rb', line 80
def update_meta_data!(attributes)
draft.update_attributes!(attributes)
end
|
#use_file(file) ⇒ Object
71
72
73
74
|
# File 'app/models/pageflow/draft_entry.rb', line 71
def use_file(file)
draft.file_usages.create!(file: file.to_model,
configuration: file.configuration)
end
|