| 
									
										
										
										
											2012-11-05 15:04:54 +00:00
										 |  |  | class Stylesheet < DesignFile | 
					
						
							|  |  |  |   # belongs_to :design | 
					
						
							|  |  |  |   mount_uploader :file_orig, AssetUploader | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  |   def parse_urls | 
					
						
							|  |  |  |     orig_content = content = self.file.read.force_encoding("UTF-8") | 
					
						
							|  |  |  |     # self.remove_file! | 
					
						
							|  |  |  |     # self.remove_file_orig! | 
					
						
							|  |  |  |     names = {} | 
					
						
							| 
									
										
										
										
											2012-11-20 02:04:50 +00:00
										 |  |  |     case self._type | 
					
						
							|  |  |  |     when 'Theme' | 
					
						
							|  |  |  |       images = self.design.images | 
					
						
							|  |  |  |     when 'CssDefault' | 
					
						
							|  |  |  |       images = self.css.images | 
					
						
							|  |  |  |     end | 
					
						
							| 
									
										
										
										
											2012-11-05 15:04:54 +00:00
										 |  |  |     content.scan(/(?<=url)(.*?)(?=\))/){ | 
					
						
							|  |  |  |       css_name = $1.gsub(' ','').gsub('(','') | 
					
						
							|  |  |  |       unless names.has_key?(css_name) | 
					
						
							|  |  |  |         name = File.basename(css_name).gsub(/[\\\"]/, '') | 
					
						
							|  |  |  |         image = images.detect{ |i| i.file_identifier.eql?(name) } rescue nil | 
					
						
							|  |  |  |         if image | 
					
						
							|  |  |  |           image.update_attribute(:in_css, true) | 
					
						
							|  |  |  |           file_name = image.file_url | 
					
						
							|  |  |  |           names.merge!({css_name => file_name}) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     names.each_pair do |key, value| | 
					
						
							|  |  |  |       content.gsub!(key, value) | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |     Dir.mktmpdir('f_path') { |dir| | 
					
						
							|  |  |  |       orig_file_name = self.file_identifier | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       temp_file = File.new(dir + '/' + orig_file_name, 'w+') | 
					
						
							|  |  |  |       temp_file.write orig_content.force_encoding("UTF-8") | 
					
						
							|  |  |  |       self.file_orig = temp_file | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       temp_file = File.new(dir + '/' + orig_file_name, 'w+') | 
					
						
							|  |  |  |       temp_file.write content.force_encoding("UTF-8") | 
					
						
							|  |  |  |       self.file = temp_file | 
					
						
							|  |  |  |       self.save | 
					
						
							|  |  |  |     }     | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  |    | 
					
						
							|  |  |  | end |