Class: Quadro::Page

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/quadro/page.rb

Constant Summary collapse

PAGE_TEMPLATES_PATH =

constants

'app/views/quadro/shared/templates/'
SITEMAP_FREQUENCY =
%w(always hourly daily weekly monthly yearly never).freeze
SITEMAP_PRIORITY =
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.short_nameObject



99
100
101
# File 'app/models/quadro/page.rb', line 99

def short_name
  'page'
end

Instance Method Details

#ensure_coverObject



81
82
83
# File 'app/models/quadro/page.rb', line 81

def ensure_cover
  generate_cover if self.cover.nil?
end

#find_asset(asset_id) ⇒ Object



75
76
77
78
79
# File 'app/models/quadro/page.rb', line 75

def find_asset(asset_id)
  new_asset = assets.find(asset_id) rescue nil
  new_asset.becomes(new_asset.type.constantize) unless new_asset.nil?
  new_asset
end

#publish!Object

methods



42
43
44
# File 'app/models/quadro/page.rb', line 42

def publish!
  self.update_column(:published_at, Time.zone.now)
end

#published?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'app/models/quadro/page.rb', line 50

def published?
  !self.published_at.nil?
end

#templatesObject



66
67
68
69
70
71
72
73
# File 'app/models/quadro/page.rb', line 66

def templates
  templates = []
  Dir.glob("#{PAGE_TEMPLATES_PATH}*.html.haml").each do |file|
    file = File.basename(file, '.html.haml')
    templates << file[1..-1] if file.start_with?('_')
  end
  templates
end

#to_paramObject



58
59
60
# File 'app/models/quadro/page.rb', line 58

def to_param
  self.slug
end

#to_sObject



62
63
64
# File 'app/models/quadro/page.rb', line 62

def to_s
  self.title
end

#unpublish!Object



46
47
48
# File 'app/models/quadro/page.rb', line 46

def unpublish!
  self.update_column(:published_at, nil)
end

#unpublished?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'app/models/quadro/page.rb', line 54

def unpublished?
  self.published_at.nil?
end