Masao Mutoh
mutoh****@highw*****
2003年 8月 17日 (日) 18:49:05 JST
むとうです。 On Sun, 17 Aug 2003 18:09:39 +0900 Satoru Takabayashi <sator****@namaz*****> wrote: > Masao Mutoh: > > > すでに多くのプラグインができてるので、逆にプライベート > > にしたいのだけを選ぶようにした方が良いかもしれませんね。 > > その方が、LightWeightなプラグインを書く(こちらがメインストリームだと > > 思いますし(^^;))人に影響が無いですし。 > > > > add_private_plugin_method(:amazonplot_internal) > > add_private_plugin_method(:googleplot_internal) > > んと、ちょっと大きなプラグインを作る場合は、この方法ではしん > どいので、 > > * export_plugin_methods が呼ばれた場合 > - 陽に export したメソッドのみがプラグインとして呼び出せる > > * export_plugin_methods が呼ばれなかった場合 > - すべてのメソッドがプラグインとして呼び出せる (現状通り) > > という仕様なら、すでにあるプラグインに影響はないし、大きめの > なプラグインを書く場合にも都合がよいのではないかと思います。 大きめのプラグインでしたら、クラス化しては如何でしょうか。 例えば、今回のような場合、以下のようにすれば、プラグイン利用者から はcall_os_cmd()メソッドを見えなくすることができるような気がします。 class Test def call_os_cmd(cmd) `#{cmd}` end def test str = call_os_cmd("ls /") : : end end def test Test.new.test end あれ?そういえば、{{Test.new.call_os_cmd("ls /")}}なんて書き方 できましたっけ? できたらまずいですね(^^;)。 #ちょっと確認したところでは出来なさそうですけど....自信なし(^^;)。 -- .:% Masao Mutoh<mutoh****@highw*****>