Class: Pageflow::DraftEntry

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Conversion
Defined in:
app/models/pageflow/draft_entry.rb

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.



18
19
20
21
# File 'app/models/pageflow/draft_entry.rb', line 18

def initialize(entry, draft = nil)
  @entry = entry
  @draft = draft || entry.draft
end

Instance Attribute Details

#draftObject (readonly)

Returns the value of attribute draft.



5
6
7
# File 'app/models/pageflow/draft_entry.rb', line 5

def draft
  @draft
end

#entryObject (readonly)

Returns the value of attribute entry.



5
6
7
# File 'app/models/pageflow/draft_entry.rb', line 5

def entry
  @entry
end

Class Method Details

.accessible_by(ability, action) ⇒ Object



59
60
61
62
63
# File 'app/models/pageflow/draft_entry.rb', line 59

def self.accessible_by(ability, action)
  Entry.accessible_by(ability, action).map do |entry|
    DraftEntry.new(entry)
  end
end

.find(id) ⇒ Object



51
52
53
# File 'app/models/pageflow/draft_entry.rb', line 51

def self.find(id)
  new(Entry.find(id))
end

.for_file_usage(usage) ⇒ Object



55
56
57
# File 'app/models/pageflow/draft_entry.rb', line 55

def self.for_file_usage(usage)
  new(usage.revision.entry)
end

Instance Method Details

#add_file(file) ⇒ Object



39
40
41
# File 'app/models/pageflow/draft_entry.rb', line 39

def add_file(file)
  draft.file_usages.create!(:file => file)
end

#create_file(model, attributes) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'app/models/pageflow/draft_entry.rb', line 23

def create_file(model, attributes)
  file = model.create(attributes) do |f|
    f.entry = entry
  end

  usage = @draft.file_usages.create(:file => file)
  file.usage_id = usage.id

  file
end

#home_buttonObject



73
74
75
# File 'app/models/pageflow/draft_entry.rb', line 73

def home_button
  HomeButton.new(draft, theming)
end

#remove_file(file) ⇒ Object



34
35
36
37
# File 'app/models/pageflow/draft_entry.rb', line 34

def remove_file(file)
  collection_containing(file).destroy(file)
  file.destroy if file.usages.empty?
end

#save!Object



43
44
45
# File 'app/models/pageflow/draft_entry.rb', line 43

def save!
  draft.save!
end

#stylesheet_cache_keyObject



69
70
71
# File 'app/models/pageflow/draft_entry.rb', line 69

def stylesheet_cache_key
  draft.cache_key
end

#stylesheet_modelObject



65
66
67
# File 'app/models/pageflow/draft_entry.rb', line 65

def stylesheet_model
  draft
end

#update_meta_data!(attributes) ⇒ Object



47
48
49
# File 'app/models/pageflow/draft_entry.rb', line 47

def update_meta_data!(attributes)
  draft.update_attributes!(attributes)
end