アクセスカウンタ
インフォメーション

読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
プロフィール
のんきよね
のんきよね
オーナーへメッセージ
のんきの日記(こちらのサイトも立ち寄ってください)

スポンサーサイト

上記の広告は2週間以上更新のないブログに表示されています。 新しい記事を書くことで広告が消せます。  

Posted by スポンサー広告 at

2009年07月18日

railroad を使ってみました。

今日何気にネットをみていたら、ソースから
モデル図(ER図)や、コントローラ図が、できるという記事を見つけました。
Railsを見える化「RailRoad」

自己学習しているアプリケーションの現在の状況がわかるのならと、
早速インストールをしようと思い、ほかのサイトを検索。

ここで、手順を書くと、以下の通り、
(1)予め、Graphvizをインストールしておきます。
(これって、Doxygenでも利用されているプログラムです。昔C++のドキュメント生成で使用しました。)

(2)次に、「RubyGems Package Manager」のコマンドプロンプトから、インストール
gem install railroad
これで以下の通り出力
--------------------------------------------------------------------
Successfully installed railroad-0.5.0
1 gem installed
Installing ri documentation for railroad-0.5.0...
Installing RDoc documentation for railroad-0.5.0...
--------------------------------------------------------------------
(3)モデル図(ER図)の作成
作成しているrailsのフォルダ(appとかconfigとかのフォルダがあるフォルダ)へ移動して以下を実行
railroad -o models.dot -M
結果は何も表示されなければOK
その後、neato -Tpng models.dot >models.png と実行すると、
モデル図が作成されました。

これが、現在作成しているアプリのモデル図


(4)コントローラ図の作成
続いて、
railroad -o controllers.dot -C
結果は何も表示されなければOKなのですが、、、
こちらは、以下のようなエラーが出てうまく動きませんでした。

--------------------------------------------------------------------
from H:/Ruby/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38:in `new'
from H:/Ruby/lib/ruby/gems/1.8/gems/railroad-0.5.0/bin/railroad:38
from H:/Ruby/bin/railroad:19:in `load'
from H:/Ruby/bin/railroad:19
--------------------------------------------------------------------
で、ネットを捜索すると、rails2.3.2だと動かないという話があり、
いろいろと探していると、見つかりました。

2009年06月18日のブログ
書いて下さった方に感謝!。

どうもファイル名が変わったのが原因みたいですね。
該当するファイルはありません。
Ruby\lib\ruby\gems\1.8\gems\railroad-0.5.0\lib\railroad\ フォルダ
controllers_diagram.rb:23:
   files << 'app/controllers/application.rb'
controllers_diagram.rb:39:
   require "app/controllers/application.rb"

上記2カ所のapplication.rb を、application_controller.rb に変更して実行すると、エラーメッセージが出力されずに動きました!。
その後、neato -Tpng controllers.dot >controllers.png と実行。

これが、現在作成しているアプリのコントローラ図

人に伝えるには、こんな資料があると良いですね。
  


Posted by のんきよね at 21:14Ruby on Rails

2009年07月09日

windows でattachment_fuを使用する

現在もっぱら、Windows環境で勉強しております。
なお、今の開発環境は one-click-ruby の 1.8.6です。


今回 attachment_fu プラグインをWindowsにインストールした場合の事を書いておきたいと思います。

【attachment_fu プラグインインストール】
(1)前もってwindowsに以下をインストール
TortoiseGit-0.7.2.0-32bit.msi(日本語化:tortoisegit_0.7.2.0_lang_jp.zip)
Git-1.6.3.2-preview20090608.exe
RMagick-2.10.0-ImageMagick-6.5.3-10-Q8.zip

※RMagickは、解凍して、以下の通りインストール
(A)ImageMagick-6.5.3-10-Q8-windows-dll.exeの実行
(B)gem install rmagick-2.10.0-x86-mswin32.gem --local でインストール


(2)その後、以下のコマンドを実行してインストール
ruby script/plugin install git://github.com/technoweenie/attachment_fu.git

これで、インストールは完了


【動作させるとなぜかsizeが正しく取得できない】
動かして判明した事なのですが、なぜかたまに、
Size is not included in the list というエラーが発生するのです。
ファイルサイズが正しく取得できたり、できなかったりの原因が
なぜなのか、わかりませんでした。
has_attachmentに :min_size => 0.kilobytesを付けたとしても、
:max_sizeの判定がおそらくうまくいかない事になると思い、
何が原因かを約3日ほど、悩んでおりましたが、
最終的にネットを調べてみると、ありました。。

これ!。
Fixing "Size is not included in the list" error message

----------------------------
# Returns the size of the temporary file. As a side effect, the IO
# buffer is flushed before determining the size.
def size
if @tmpfile
#-------------------------------------
@tmpfile.fsync # これを追加
#-------------------------------------
@tmpfile.flush
@tmpfile.stat.size
else
0
end
end

----------------------------
Ruby\lib\ruby\1.8\tempfile.rb ファイル内の size処理の所に fsyncを挿入する事で
正しくサイズが取得できるようになりました。これでサイズのチェックはOKとなりました。
(この修正は、windowsの環境のみ)

  


Posted by のんきよね at 21:00Comments(0)Ruby on Rails