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 と実行。
これが、現在作成しているアプリのコントローラ図
人に伝えるには、こんな資料があると良いですね。
モデル図(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:14
│Ruby 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の環境のみ)
なお、今の開発環境は 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の環境のみ)