OSDN Git Service

add arc.url
authornomeu <nomeu@users.sourceforge.jp>
Sat, 9 Jul 2011 06:15:35 +0000 (15:15 +0900)
committernomeu <nomeu@users.sourceforge.jp>
Sat, 9 Jul 2011 06:15:35 +0000 (15:15 +0900)
app/models/arc.rb
spec/models/arc_spec.rb

index 7b38e48..23e3f3d 100644 (file)
@@ -23,7 +23,60 @@ class Arc < ActiveGroonga::Base
   def xes
     X.select { |x| x.arc == key }
   end
+
+  def site_code
+    /([a-z]+)/.match(code).to_a[1]
+  end
+
+  def number
+    /([0-9]+)/.match(code).to_a[1].to_i
+  end
+
+  def site_url
+    case site_code
+    when "up"
+      "http://bytatsu.net/uploader/mikumikudance"
+    when "file"
+      "http://loda.jp/mmdfile"
+    when "mini"
+      "http://www9.atpages.jp/~mmdaccessory/uploader"
+    when "accs"
+      "http://www9.atpages.jp/~mmdaccessory/uploader2"
+    when "cu"
+      "http://cdn.3dcustom.net/MMDuploader"
+    when "bo"
+      "http://bowlroll.net/up"
+    end
+  end
+
   def url
+    case site_code
+    when "up"
+      if locked
+        "#{site_url}/upload.cgi?mode=dl&file=#{number}"
+      else
+        "#{site_url}/src/#{code}.#{extname}"
+      end
+    when "file"
+      if locked
+        "#{site_url}/?mode=pass&idd=#{number}"
+      else
+        "#{site_url}/?id=#{number}"
+      end
+    when "mini"
+      "#{site_url}/log/#{number}.#{extname}"
+    when "accs"
+      "#{site_url}/src/MMD#{code}.#{extname}.html"
+    when "cu"
+      if locked
+        "#{site_url}/upload.cgi?mode=dl&file=#{number}"
+      else
+        fixed_number = '%05d' % number
+        "#{site_url}/src/MMD#{fixed_number}.#{extname}"
+      end
+    when "bo"
+      "#{site_url}/dl#{number}"
+    end
   end
 
   class Search
index d77a766..5bcd1f6 100644 (file)
@@ -1,35 +1,35 @@
 require 'spec_helper'
 
-describe Record::Arc do
+describe Arc do
   #
-  # location_code
+  # site_code
   #
   it do
-    arc = Record::Arc.new(:code => 'up0675', :extname => 'zip')
-    arc.location_code.should == 'up'
+    arc = Arc.new(:key => 'up0675', :extname => 'zip')
+    arc.site_code.should == 'up'
   end
   it do
-    arc = Record::Arc.new(:code => 'file0121', :extname => 'zip', :locked => 1)
-    arc.location_code.should == 'file'
+    arc = Arc.new(:key => 'file0121', :extname => 'zip', :locked => 1)
+    arc.site_code.should == 'file'
   end
   it do
-    arc = Record::Arc.new(:code => 'accs_0235', :extname => 'zip')
-    arc.location_code.should == 'accs'
+    arc = Arc.new(:key => 'accs_0235', :extname => 'zip')
+    arc.site_code.should == 'accs'
   end
 
   #
   # number
   #
   it do
-    arc = Record::Arc.new(:code => 'up0675', :extname => 'zip')
+    arc = Arc.new(:key => 'up0675', :extname => 'zip')
     arc.number.should == 675
   end
   it do
-    arc = Record::Arc.new(:code => 'up0621', :extname => 'zip', :locked => 1)
+    arc = Arc.new(:key => 'up0621', :extname => 'zip', :locked => 1)
     arc.number.should == 621
   end
   it do
-    arc = Record::Arc.new(:code => 'accs_0235', :extname => 'zip')
+    arc = Arc.new(:key => 'accs_0235', :extname => 'zip')
     arc.number.should == 235
   end
 
@@ -37,35 +37,35 @@ describe Record::Arc do
   # url
   #
   it do
-    arc = Record::Arc.new(:code => 'up0675', :extname => 'zip')
+    arc = Arc.new(:key => 'up0675', :extname => 'zip')
     arc.url.should == 'http://bytatsu.net/uploader/mikumikudance/src/up0675.zip'
   end
   it do
-    arc = Record::Arc.new(:code => 'up0679', :extname => 'zip')
+    arc = Arc.new(:key => 'up0679', :extname => 'zip')
     arc.url.should == 'http://bytatsu.net/uploader/mikumikudance/src/up0679.zip'
   end
   it do
-    arc = Record::Arc.new(:code => 'up0464', :extname => 'bmp')
+    arc = Arc.new(:key => 'up0464', :extname => 'bmp')
     arc.url.should == 'http://bytatsu.net/uploader/mikumikudance/src/up0464.bmp'
   end
   it do
-    arc = Record::Arc.new(:code => 'up0621', :extname => 'zip', :locked => 1)
+    arc = Arc.new(:key => 'up0621', :extname => 'zip', :locked => 1)
     arc.url.should == 'http://bytatsu.net/uploader/mikumikudance/upload.cgi?mode=dl&file=621'
   end
   it do
-    arc = Record::Arc.new(:code => 'file0121', :extname => 'zip')
+    arc = Arc.new(:key => 'file0121', :extname => 'zip')
     arc.url.should == 'http://loda.jp/mmdfile/?id=121'
   end
   it do
-    arc = Record::Arc.new(:code => 'file0120', :extname => 'zip', :locked => 1)
+    arc = Arc.new(:key => 'file0120', :extname => 'zip', :locked => 1)
     arc.url.should == 'http://loda.jp/mmdfile/?mode=pass&idd=120'
   end
   it do
-    arc = Record::Arc.new(:code => 'mini0910', :extname => 'zip')
+    arc = Arc.new(:key => 'mini0910', :extname => 'zip')
     arc.url.should == "http://www9.atpages.jp/~mmdaccessory/uploader/log/910.zip"
   end
   it do
-    arc = Record::Arc.new(:code => 'accs_0235', :extname => 'zip', :locked => 1)
+    arc = Arc.new(:key => 'accs_0235', :extname => 'zip', :locked => 1)
     arc.url.should == "http://www9.atpages.jp/~mmdaccessory/uploader2/src/MMDaccs_0235.zip.html"
   end
 end