一言で片付けてしまえばデジタルトイカメラなのですが、取れる画像がなんかレトロ感があるいい感じのものが取れるようなのでキニナルのです。
性能ははっきりいって低いのですがいい味のために必要なスペックな感じでキニナルのです。
詳細は以下を見てください。
http://www.superheadz.com/digi2/index.php
#!/usr/bin/env ruby
require "webrick"
__DIR__ = File.dirname(__FILE__)
s = WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => "#{__DIR__}/../coverage")
trap('INT'){ s.shutdown }
s.start
class TestController < ApplicationController
def index
end
def upload
file=params[:file]['csv']
@filename = params[:file]['csv'].original_filename
File.open("/tmp/#{@filename}","wb"){ |f| f.write(file.read) }
end
end
このコントローラー用のviewを以下のような感じで用意します。
<% form_tag({:action => 'upload'},{:class=>'form',:multipart=>true}) do %>
<%= file_field "file","csv" %>
<%= submit_tag("upload") %>
<% end %>
specファイルは以下のような感じになります。
describe TestController do
describe "fileをポストする" do
before(:each) do
@file = fixture_file_upload "test.csv", "text/comma-separated-values"
post 'upload',:file => {"csv"=>@file}
end
after(:each) do
File.delete("/tmp/test.csv")
end
it "/tmpにファイルが保存される" do
FileTest.exist?("/tmp/test.csv").should be_true
end
end
end
ファイルアップロードのテストにはfixture_file_uploadを使うようです。class ReadOnly < ActiveRecord::Base
abstract_class = true
def readonly?
true
end
def before_destroy
raise ActiveRecord::ReadOnlyRecord
end
def self.delete(id)
raise ActiveRecord::ReadOnlyRecord
end
def self.delete_all(conditions)
raise ActiveRecord::ReadOnlyRecord
end
def self.destroy_all(conditions)
raise ActiveRecord::ReadOnlyRecord
end
end
そしてRead Onlyにしたいモデルを以下のように書きます。
class Test < ReadOnly end