Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > pstoreライブラリ > PStoreクラス
クラスの継承リスト: PStore < Object < Kernel < BasicObject
Rubyのオブジェクトを外部ファイルに格納するためのクラスです。 内部で Marshal を使っています。
データベースにアクセスするためには、 transaction のブロック内である必要があります。 インターフェースは Hash に似ています。
require 'pstore' db = PStore.new("/tmp/foo") db.transaction do p db.roots # => [] ary = db["root"] = [1,2,3,4] ary[0] = [1,1.5] end db.transaction do p db["root"] # => [[1, 1.5], 2, 3, 4] end
定義 | 説明 | |
---|---|---|
new(file, thread_safe = false) -> PStore
|
ファイル名 file に対してデータベースを読み書きする。 |
定義 | 説明 | |
---|---|---|
self[name] -> object
|
ルートnameに対応する値を得る。 |
|
self[name] = value
|
ルート name に対応する値 value をセットする。 |
|
abort -> ()
|
データベースの読み書きを終了する。 |
|
commit -> ()
|
データベースの読み書きを終了します。 |
|
delete(name) -> object
|
ルートnameに対応する値を削除します。 |
|
fetch(name, default = PStore::Error) -> object
|
ルートnameに対応する値を得る。 |
|
path -> String
|
データベースのファイル名を得ます。 |
|
root?(name) -> bool
|
ルート name がデータベースに格納されている場合に真を返します。 |
|
roots -> Array
|
ルートの集合を配列で返します。 |
|
transaction(read_only = false) {|pstore| ... } -> object
|
トランザクションに入ります。 このブロックの中でのみデータベースの読み書きができます。 |
|
ultra_safe -> bool
|
真であれば、パフォーマンスと引き換えにファイル更新の衝突を避けることができます。 デフォルトは偽です。 |
|
ultra_safe=(flag)
|
真をセットすると、パフォーマンスと引き換えにファイル更新の衝突を避けることができます。 |
定義 | 説明 | |
---|---|---|
in_transaction -> ()
|
トランザクションの中でなければ例外を発生させます。 |
定義 | 説明 | |
---|---|---|
EMPTY_MARSHAL_CHECKSUM -> String
|
内部で利用する定数です。 |
|
EMPTY_MARSHAL_DATA -> String
|
内部で利用する定数です。 |
|
EMPTY_STRING -> String
|
内部で利用する定数です。 |
|
RDWR_ACCESS -> Fixnum
|
内部で利用する定数です。 |
|
RD_ACCESS -> Fixnum
|
内部で利用する定数です。 |
|
WR_ACCESS -> Fixnum
|
内部で利用する定数です。 |
!
!=
==
===
=~
__id__
__send__
_dump
class
clone
dclone
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_eval
instance_exec
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
marshal_dump
marshal_load
method
method_missing
methods
must_be
must_be_close_to
must_be_empty
must_be_instance_of
must_be_kind_of
must_be_nil
must_be_same_as
must_be_within_epsilon
must_equal
must_include
must_match
must_raise
must_respond_to
must_send
must_throw
nil?
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
public_methods
remove_instance_variable
respond_to?
respond_to_missing?
singleton_class
singleton_method_added
singleton_method_removed
singleton_method_undefined
singleton_methods
taint
tainted?
tap
to_a
to_ary
to_hash
to_int
to_io
to_proc
to_regexp
to_s
to_str
to_yaml
to_yaml_properties
to_yaml_style
trust
untaint
untrust
untrusted?
wont_be
wont_be_close_to
wont_be_empty
wont_be_instance_of
wont_be_kind_of
wont_be_nil
wont_be_same_as
wont_be_within_epsilon
wont_equal
wont_include
wont_match
wont_respond_to