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

class PStore

クラスの継承リスト: PStore < Object < Kernel

要約

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

ファイル名 file に対してデータベースを読み書きする。

インスタンスメソッド

定義 説明
self[name] -> object

ルートnameに対応する値を得る。

self[name] = value

ルート name に対応する値 value をセットする。

abort -> ()

データベースの読み書きを終了する。

commit -> ()

データベースの読み書きを終了します。

delete(name) -> object

ルートnameに対応する値を削除します。

dump(table) -> String

単なる Marshal.#dump のラッパーメソッドです。

fetch(name, default = PStore::Error) -> object

ルートnameに対応する値を得る。

load(content) -> object

単なる Marshal.#load のラッパーメソッドです。

load_file(file) -> object

単なる Marshal.#load のラッパーメソッドです。

path -> String

データベースのファイル名を得ます。

root?(name) -> bool

ルート name がデータベースに格納されている場合に真を返します。

roots -> Array

ルートの集合を配列で返します。

transaction(read_only = false) {|pstore| ... } -> object

トランザクションに入ります。 このブロックの中でのみデータベースの読み書きができます。

privateメソッド

定義 説明
in_transaction -> ()

トランザクションの中でなければ例外を発生させます。

定数

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