| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | # frozen_string_literal: true | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | # == Schema Information | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Table name: imports | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2018-04-23 18:29:17 +09:00
										 |  |  | #  id                :bigint(8)        not null, primary key | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | #  type              :integer          not null | 
					
						
							| 
									
										
										
										
											2017-07-13 03:12:25 +02:00
										 |  |  | #  approved          :boolean          default(FALSE), not null | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | #  created_at        :datetime         not null | 
					
						
							|  |  |  | #  updated_at        :datetime         not null | 
					
						
							|  |  |  | #  data_file_name    :string | 
					
						
							|  |  |  | #  data_content_type :string | 
					
						
							|  |  |  | #  data_file_size    :integer | 
					
						
							|  |  |  | #  data_updated_at   :datetime | 
					
						
							| 
									
										
										
										
											2018-04-23 18:29:17 +09:00
										 |  |  | #  account_id        :bigint(8)        not null | 
					
						
							| 
									
										
										
										
											2019-02-03 03:59:51 +01:00
										 |  |  | #  overwrite         :boolean          default(FALSE), not null | 
					
						
							| 
									
										
										
										
											2017-05-02 09:14:47 +09:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Import < ApplicationRecord | 
					
						
							| 
									
										
										
										
											2019-02-03 03:59:51 +01:00
										 |  |  |   FILE_TYPES = %w(text/plain text/csv).freeze | 
					
						
							|  |  |  |   MODES = %i(merge overwrite).freeze | 
					
						
							| 
									
										
										
										
											2017-04-16 23:28:26 +09:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  |   self.inheritance_column = false | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-01-20 04:56:47 +09:00
										 |  |  |   belongs_to :account | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-03 03:59:51 +01:00
										 |  |  |   enum type: [:following, :blocking, :muting, :domain_blocking] | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-04-16 23:28:26 +09:00
										 |  |  |   validates :type, presence: true | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-26 01:31:44 +01:00
										 |  |  |   has_attached_file :data | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  |   validates_attachment_content_type :data, content_type: FILE_TYPES | 
					
						
							| 
									
										
										
										
											2017-09-03 03:45:42 +09:00
										 |  |  |   validates_attachment_presence :data | 
					
						
							| 
									
										
										
										
											2019-02-03 03:59:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def mode | 
					
						
							|  |  |  |     overwrite? ? :overwrite : :merge | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def mode=(str) | 
					
						
							|  |  |  |     self.overwrite = str.to_sym == :overwrite | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-03-30 19:42:33 +02:00
										 |  |  | end |