Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > pstoreライブラリ > PStoreクラス

class 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)

真をセットすると、パフォーマンスと引き換えにファイル更新の衝突を避けることができます。

privateメソッド

定義 説明
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