orbit-basic/app/models/design/layout.rb

34 lines
553 B
Ruby
Raw Permalink Normal View History

class Layout < DesignFile
2011-12-23 10:34:21 +00:00
include ParserLayout
attr_reader :content
2012-03-21 17:51:16 +00:00
field :body
2011-09-01 01:12:41 +00:00
embeds_one :menu
2012-10-24 10:40:38 +00:00
belongs_to :design
embeds_many :layout_parts
before_save :parse_layout
after_save :save_pages
2011-05-18 02:00:00 +00:00
def content
self.file.read.force_encoding("UTF-8") rescue ''
end
2011-08-10 09:28:10 +00:00
2011-05-18 02:00:00 +00:00
def self.exist_one?
Layout.count > 0
end
2011-08-10 09:28:10 +00:00
2012-03-21 17:51:16 +00:00
def parse_layout
html = Nokogiri::HTML(self.file.read)
self.body = html.at_css("body").inner_html
parse_body(self)
2011-08-10 09:28:10 +00:00
end
def save_pages
2012-12-03 09:38:55 +00:00
self.design.pages.each(&:generate_parts)
end
2011-03-08 09:25:46 +00:00
end