OSDN Git Service

refactored
[tdcgexplorer/nimono.git] / app / models / arc.rb
index f4f652c..a53ffe5 100644 (file)
@@ -32,36 +32,44 @@ class Arc < ActiveGroonga::Base
     /([0-9]+)/.match(code).to_a[1].to_i
   end
 
-  def url
-    site.url + 
-    case site.key
-    when "mmd"
-      if locked
-        "upload.cgi?mode=dl&file=#{number}"
-      else
-        "src/#{code}.#{extname}"
-      end
-    when "mmdfile"
-      if locked
-        "?mode=pass&idd=#{number}"
-      else
-        "?id=#{number}"
-      end
-    when "mmdacc1"
-      "log/#{number}.#{extname}"
-    when "mmdacc2"
-      "src/MMD#{code}.#{extname}.html"
-    when "mmd3dcu"
-      if locked
-        "upload.cgi?mode=dl&file=#{number}"
-      else
-        fixed_number = '%05d' % number
-        "src/MMD#{fixed_number}.#{extname}"
-      end
-    when "mmdbowl"
-      "dl#{number}"
+  def path_for_mmd
+    if locked
+      "upload.cgi?mode=dl&file=#{number}"
+    else
+      "src/#{code}.#{extname}"
+    end
+  end
+  def path_for_mmdfile
+    if locked
+      "?mode=pass&idd=#{number}"
+    else
+      "?id=#{number}"
     end
   end
+  def path_for_mmdacc1
+    "log/#{number}.#{extname}"
+  end
+  def path_for_mmdacc2
+    "src/MMD#{code}.#{extname}.html"
+  end
+  def path_for_mmd3dcu
+    if locked
+      "upload.cgi?mode=dl&file=#{number}"
+    else
+      fixed_number = '%05d' % number
+      "src/MMD#{fixed_number}.#{extname}"
+    end
+  end
+  def path_for_mmdbowl
+    "dl#{number}"
+  end
+  def path_for_site
+    send("path_for_#{site.key}")
+  end
+
+  def url
+    site.url + path_for_site
+  end
 
   class Search
     attr_accessor :text