1 class Thema < ActiveRecord::Base
2 has_many :thema_sections
10 data.to_s.gsub(/\r/, '').split(/\n/).each do |l|
11 columns = l.split(/\t/)
12 thema = Thema.find columns[0]
14 thema.caption = columns[1] unless columns[1].to_s.empty?
15 thema.detail = columns[2] unless columns[2].to_s.empty?
16 thema.update_at = columns[3] unless columns[3].to_s.empty?
19 thema = Thema.new :caption => columns[1], :detail => columns[2]
22 ht = HatedaThema.find :first, :conditions => ['thema_id = ?', thema.id]
23 ht.name = columns[4] unless columns[4].to_s.empty?
24 ht.upload_at = columns[5] unless columns[5].to_s.empty?
25 unless columns[6].to_s.empty?
26 columns[6].split(/\// ).each do |num|
27 section = Section.find_num num
36 themas = Thema.find(:all).map { |thema|
37 thema.id.to_s + "\t" + thema.caption.to_s + "\t" + thema.detail.to_s + "\t" + thema.update_at.to_s + "\t" +
38 thema.hateda_thema.name.to_s + "\t" + thema.hateda_thema.upload_at.to_s + "\t" +
39 thema.thema_sections.map {|ts| ts.section.num }.join("/")
45 Thema.find :first, :conditions => ['caption = ?', cap]
49 if self.update_at and self.hateda_thema.upload_at
50 self.update_at > self.hateda_thema.upload_at
58 self.update_at.strftime('%Y/%m/%d %H:%M:%S')
68 self.caption = th[:caption]
69 self.detail = th[:detail]
83 ThemaSection.create!(:thema_id => self.id, :section_id => section_id)
92 self.detail = self.detail.to_s.gsub(/\r/, '').gsub(/\n/, '/')
93 self.update_at = Time.now
97 self.detail.to_s.gsub('/', "\n")
101 self.edit_detail.gsub('[', '').gsub(']', '')
105 self.edit_detail.scan(/\[.+?\]/m).join('...').gsub('[', '').gsub(']', '')
109 unless self.hateda_thema
110 ht = HatedaThema.new(:thema_id => self.id)