Ruby
2009年01月10日
redmine-0.8.0
0.7.3からアップグレード
- SMTP関係の設定が一つのファイルに分離されていた。
- Wikiのページのロックができるようになった。
2008年06月21日
redMineで文書が保存できない
redMine-0.7.2で文書が上手く保存できないのですが。
プロジェクトで文書を作って保存し、一覧を表示させようとすると NoMethodError in Documents#index などと言われるのですが。ruby-1.8.7+rails-2.0.2 で報告されている不具合の影響なのかな…。
うーん、いろいろ調べるとruby-1.8.7でStringの仕様が変わったのが原因のように見える。他にもrails-2.0.2でおかしくなるという話がみつかるのだけど…。こういうのがRubyのダメなとこだと思うんですけどね…。やっぱりか…。1.8.5にダウングレードしてみたら動く…。もー何をやっとんだよ。
http://znz.s1.xrea.com/t/?date=20080606 とか http://arika.org/diary/20080610#p01
が決定版のようだ。…なんだこりゃ。
たしかにRubyはこんなことばっかなのは知ってますさ。これが特徴みたいなもんだってことも知ってますさ。あのなあ、これを重要なところで使うなんて頭がおかしくなきゃできんだろ?
2008年06月15日
手抜きなredMineインストールメモ
とりあえず動くまで一直線。0.7.1使用。
- config/database.yml.exampleをconfig/database.ymlにコピー
- mysql側で
create database redmine character set utf8;
- socket: /var/run/mysqld/mysqld.sock をproduction:のところに追加
- encoding: utf8も追加
$ rake db:migrate RAILS_ENV=production
ちょっとwebサイトを探すと rake load_default_data を実行とかあるけどWeb からできるので不要。
./script/server -e production で実行してあとはadmin:adminでログインして頑張る。
LDAPにするには 設定→管理 で右下のLDAP認証から。LDAPのパラメータをちょこちょこ入れて、重要なのが合わせてユーザーを作成するにチェックを入れること。ないとダメ。
2008年01月17日
RMagickで遊ぶ
RMagickをちょこちょこやってみた。
convert pagoda_sm.jpg -colorspace gray \
\( +clone -tile pencil_tile.gif -draw "color 0,0 reset" \
+clone +swap -compose color_dodge -composite \) \
-fx 'u*.2+v*.8' sketch.gif
が
require 'RMagick'
require "stringio"
require 'tempfile'
include Magick
def sketch(img)
img.colorspace = Image::GRAYColorspace
img2 = img.clone
d = Draw.new
d.tile = Image.read('pencil_tile.gif')[0]
d.color(0,0, ResetMethod)
d.draw(img2)
img3 = img.clone
img4 = img3.composite(img2, 0, 0, ColorDodgeCompositeOp)
imgl = Magick::ImageList.new
imgl << img
imgl << img4
img5 = imgl.fx('u*.2+v*.8')
return img5
end
img = Image.read('pagoda_sm.jpg')[0]
new_image = sketch(img)
new_image.format = 'gif'
s = new_image.to_blob
File.open('sketch.gif','w') {|f| f.write(s) }
となる。
- http://www.imagemagick.org/Usage/photos/ もとのimagemagickの操作が載っている。
2007年03月13日
amrita2の属性の指定方法
amrita2で属性を指定する方法ですが、amrita2のフィルター機能を使うようです。amrita1とは大部かわりました。
require 'amrita2'こんなかんじです。
t = Amrita2::Template.new('<a am:src="test|Attr[:href,:id]">foo</a>')
s = t.render_with(:test => {:href=>'http://example.com', :id => 'link', :body => 'body text'})
puts s
=> <a href='http://example.com' id='link'>body text</a>
2007年03月11日
Amrita2勉強中
Amrita2をようやく勉強開始。
- am:src属性で場所の指定をする
- render_withで展開
- SanitizedStringで戻ってくる。
- データとしてクラスインスタンスを使いたいならAmrita2::DictionaryDataをincludeする
require 'amrita2'
t = Amrita2::Template.new('<h1><span am:src="aaa"/></h1>')
s = t.render_with(:aaa => Amrita2::SanitizedString['<b>hoge</b>'])
=> SanitizedString["<h1><b>hoge</b></h1>"]
という具合か。
2007年02月12日
RailsでWikiを書く(5)
履歴までなんとか実装。
いちおう1.9.0という位置付けである。方向を変換してAmrita2による実装に変更することにする。きちんと使うぞ、というところで開発者に頑張ってもらいたいなあと思うわけである。どうせAmrita2に変更するから細かいところをいじりたくないし。では次に行くぞ、と。
2007年02月04日
RailsでWikiを書く(2)
いろいろありますが…。
1:Mの基本的に扱いを理解。なんかまとまったドキュメントがないかねえ。本を買うしかないか。
昔のaswikiのソースをとりあえずlibの下に配置。ほとんどが消されていくはず…。
レンダリングはamritaべったりなのでrhtmlを使わないのでRailsの道具が使えないのはちょっと痛いかも。
amrita2はいつになったら出るのかなあ。Rails対応という噂はあるけど1年以上音沙汰なし。
2007年02月03日
RailsでWikiを書く
チュートリアルだけでは覚えられるわけがないので実用的なアプリということでWikiを作ることにする。
あのときはRDBMSを使いたくなかったのでいろいろと苦労したところもあった。エスケープに気を使ったり履歴管理にRCSを使ったり。そのあたりは一気に解消する。あとセッションの管理がまともにできてないのでとんでもない仕様になっているところもある。ここもきっとなんとかなるんだろう。キャッシュのところも無理しているし。きっとなんとかなるでしょう。
で、始めたわけですが。いきなりmigration2をインストールする。昔からRailsのORMの扱いは逆方向を向いていると思っていて、migrationができて多少はましになったのかと思ったが、気違い仕様であった。migration2になってやっとまともな方向を向いてきた。SQLObjectもdjangoもこんな変な方向向いてないんだが…。Railsが嫌いなわけではないが、Rails最高とか言う前にもうちょっと世の中見てみろ。あきらかにおかしい。ちなみにインストールはpluginのインストールになるので以下のように。
% ./script/plugin install http://wota.jp/svn/rails/plugins/branches/stable/migration2/
あとはmodelを作って、controllerを作っていきますか。詳しい実装はそのうち考えよう。履歴管理を入れると面倒なところもあるけど…。
メモ
control/routes.rbを使ってURL mappingを行うわけですか。無茶苦茶柔軟性はあるわけではないが、普通に使う分には十分でしょう。unittestがfixturesから初期データを投入するのに気がつかず謎の挙動と思ってしまった。なんでデフォルトで放り込む設定になっているんだ? わかりにくいバグになった…。
2007年01月19日
Rails勉強
暇なんでRailsの勉強。
この先は実戦経験がないと駄目なのでどうしようかね。

