[#45189] 『初めてのRuby』出版記念トークイベントのお知らせ — KOU Keiko <keiko@...>
オライリー・ジャパンの高と申します。
2 messages
2008/07/04
[#45199] Windows版のirbでカットアンドペーストはできますか? — take_tk <ggb03124@...>
たけ(tk)です。
5 messages
2008/07/06
[#45214] Debian4 GNU/LinuxとRubyGemsについて。 — hrkt0115311 <hrkt0115311@...>
Rubyistの皆さん、おはようございます。
5 messages
2008/07/10
[#45227] [ANN/ADV] RubyKaigi2009 会場候補地を探してます — "Shintaro KAKUTANI" <shintaro@...>
かくたにです。
5 messages
2008/07/16
[#45234] Matrix のサブクラスのインスタンス生成 — "M.Uemura" <mitsuhideuemura@...>
うえむら@文京区と申します。
5 messages
2008/07/17
[#45240] ruby-1.8.5-p231にアップデートしたら"original_filename"が取れなくなりました — hayashi <36hayashi@...>
林と申します。
9 messages
2008/07/18
[#45244] Re: ruby-1.8.5-p231にアップデートしたら"original_filename"が取れなくなりました
— Nobuyoshi Nakada <nobu@...>
2008/07/19
なかだです。
[#45246] Re: ruby-1.8.5-p231にアップデートしたら"original_filename"が取れなくなりました
— とみたまさひろ <tommy@...>
2008/07/20
とみたです。
[#45241] Ruby版Camelliaライブラリ — Satoru Kanno <kanno-s@...>
Ruby-listの皆さま
5 messages
2008/07/18
[#45259] nkf -j problem? — OHARA Shigeki <os@...>
大原です。
7 messages
2008/07/25
[#45267] [ANN] Ruby 1.9.0-3リリース — "Yugui (Yuki Sonoda)" <yugui@...>
Yuguiです。
16 messages
2008/07/25
[#45268] Re: [ANN] Ruby 1.9.0-3リリース
— take_tk <ggb03124@...>
2008/07/25
たけ(tk)です。
[#45289] Fwd: [ReferenceManualRenewalProject - Bug #379] (Open) String#intern は空文字列に使えない(Ruby 1.8) -- Ruby 1.9 は違うのでは — Kouya <kouyataifu4@...>
こんばんは、kouyaです。
3 messages
2008/07/31
[ruby-list:45242] Re: Ruby版Camelliaライブラリ
From:
Kouhei Sutou <kou@...>
Date:
2008-07-18 12:28:21 UTC
List:
ruby-list #45242
須藤です。
In <20080718195826.6453.KANNO-S@po.ntts.co.jp>
"[ruby-list:45241] Ruby版Camelliaライブラリ" on Fri, 18 Jul 2008 19:56:13 +0900,
Satoru Kanno <kanno-s@po.ntts.co.jp> wrote:
> この度,株式会社アルテ様の協力を受けNTTが共同で開発した
> Rubyで利用可能なCamelliaライブラリを公開いたしましたので,
> ご報告させていただきます.
> URL:
> http://info.isl.ntt.co.jp/crypt/camellia/source.html
少し試してみていくつか気になった点がありました。
== cext -> ext
setup.rbを使用するのであればcext/ではなくext/ディレクトリに
した方がよいと思います。ruby setup.rb config && ruby
setup.rb buildでできるようになります。
Hoeだけを使うのであればsetup.rbは必要ないので混乱のないよう
に消してしまってもよいと思います。
ext/camellia-example.rbはsample/などに移動した方がわかりやす
いかもしれません。
== lib/
lib/以下にcamellia_rb*があってライブラリのバージョンは
CamelliaRb::VERSIONで定義されています。おそらくnewgemで生成し
たテンプレートをそのまま利用しているのだと思いますが、以下の
ようにした方がよいと思います。
lib/camellia_rb.rb -> lib/camellia.rb
lib/camellia/version.rb -> lib/camellia/version.rb
lib/camellia.rb:
require 'camellia'
require 'camellia/version'
lib/camellia/version.rb:
module Camellia #:nodoc:
module VERSION #:nodoc:
MAJOR = 1
MINOR = 0
TINY = 0
STRING = [MAJOR, MINOR].join('.')
end
end
こうすることでrequire 'camellia'しただけでCamellia::VERSION
できるようになります。必要がないのであればCamelliaRbのRbは外
した方がよいと思います。
ただ、こうするとconfig/hoe.rbも↑の変更に追従する必要がある
と思います。
ついでに言えば必要のないファイルなどは消してもよいのではない
かと思います。例えば、log/やtest/(書かれていないので)など
です。
== Camellia.new
cext/camellia-rb.cではCamellia.newを定義していますが
Camellia#initializeを定義した方がよいと思います。
== RSTRING()
もし、1.9対応も視野に入れているのであれば
RSTRING()->len/RSTRING()->ptrではなく
RSTRING_LEN()/RSTRING_PTR()を使った方がよいと思います。
# RSTRING_LEN()/RSTRING_PTR()がないときは自分で#define。
== Camellia::CamelliaError
Camellia::CamelliaError#errorとCamellia::CamelliaError#errno
は必要ない気がします。
個人的な好みで言えばCamellia::Errorでもよさそうな気がします。
== Camellia#set_key
別名としてCamellia#key=も用意すると便利かもしれません。
ざっと眺めて書いたのでおかしなことを言っているところもあると
思いますが、そのようなところは無視してやってください。