ObjectOption.def_option(option_name1[, option_name2, ...])
option_name1という名前のオプションを定義する
ObjectOption.def_mv_option(option_name1[, option_name2, ...])
option_name1という名前のマルチバリューオプションを定義する
mv_optionとは、複数の値を配列として保持できるオプションです。
class A include ObjectOption def_mv_option :aaa end a = A.new a.set_option(:aaa, 1) a.set_option(:aaa, 2) p a.aaa # => [1, 2] p a.aaa[0] # => 1 p a.aaa[1] # => 2
ObjectOption.def_option_with_default(option_name1, default_value, reader_name)
option_name1という名前のオプションを定義する 既定値(設定する前に参照された時の値)はdefault_valueとなる。 reader_nameが指定されていると、参照用のメソッド名はreader_nameとなる
ObjectOption#option_default(name)
オプション name の既定値を返却する
ObjectOption#option_defined?(name)
オプション name が定義されていれば真
ObjectOption#set_options(line)
"option_name=value"という形式の文字列からオプションを設定する。
ObjectOption#set_option(name, val)
オプションnameに値valを設定する。
ObjectOption#get_option(name)
オプションnameの値を返却する。
ObjectOption#each_option(&block)
定義されているオプション全てについて繰り返し blockを呼びだす。 blockにはオプション名が渡される
ObjectOption#serialize_options
定義されているオプション全てを set_optionsで設定できる形式の文字列 ("optname=val")にして、その配列を返却する。 設定値が既定値の等しい場合は省略する
ObjectOption#option_get_filter(name, val)
オプションの参照の時に呼ばれるメソッド。 このメソッドの値がオプションの値となる。 下位クラスで再定義して、オプションに特殊な意味を持たせる場合に使用する。
ObjectOption#option_set_filter(name, val)
オプションの設定の時に呼ばれるメソッド。 このメソッドの値がオプションの値としてメンバー変数に記憶される。 下位クラスで再定義して、オプションに特殊な意味を持たせる場合に使用する。