OSDN Git Service

t#31078:add ImportResult
[pettanr/pettanr.git] / lib / import_result.rb
diff --git a/lib/import_result.rb b/lib/import_result.rb
new file mode 100644 (file)
index 0000000..ffeef41
--- /dev/null
@@ -0,0 +1,129 @@
+#
+class ImportResult
+  
+  def initialize results
+    @results = results
+  end
+  
+  def response?
+    @results != nil
+  end
+  
+  def success?
+    @results.empty?
+  end
+  
+  def failures
+    @results
+  end
+  
+  def to_json
+    if response?
+      @results.to_json
+    else
+      'No Response'
+    end
+  end
+  
+end
+
+class LicenseImportResult < ImportResult
+  
+  def columns
+    ['caption', 'name']
+  end
+  
+  def obj
+    'License'
+  end
+  
+  def action
+    'licenses_import'
+  end
+  
+  def translate
+    'licenses_import'
+  end
+  
+end
+
+class ArtistImportResult < ImportResult
+  
+  def columns
+    ['name']
+  end
+  
+  def obj
+    'Artist'
+  end
+  
+  def action
+    'artists_import'
+  end
+  
+  def translate
+    'licenses_import'
+  end
+  
+end
+
+class OriginalPictureImportResult < ImportResult
+  
+  def columns
+    ['id', 'artist_id', 'md5']
+  end
+  
+  def obj
+    'OriginalPicture'
+  end
+  
+  def action
+    'original_pictures_import'
+  end
+  
+  def translate
+    'original_pictures_import'
+  end
+  
+end
+
+class ResourcePictureImportResult < ImportResult
+  
+  def columns
+    ['id', 'original_picture_id', 'picture_id', 'artist_id', 'md5']
+  end
+  
+  def obj
+    'ResourcePicture'
+  end
+  
+  def action
+    'original_pictures_import'
+  end
+  
+  def translate
+    'resource_pictures_import'
+  end
+  
+end
+
+class PictureImportResult < ImportResult
+  
+  def columns
+    ['id', 'original_picture_id', 'revision', 'artist_id', 'md5']
+  end
+  
+  def obj
+    'Picture'
+  end
+  
+  def action
+    'original_pictures_import'
+  end
+  
+  def translate
+    'pictures_import'
+  end
+  
+end
+