るりまサーチ (Ruby 2.1.0)

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.007秒)
トップページ > バージョン:2.1.0[x] > ライブラリ:pstore[x]

検索結果

PStore (7.0)

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.transac...

PStore#[](name) -> object (7.0)

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

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

@param name 探索するルート。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

@see Hash#[]...

PStore#[]=(name, value) (7.0)

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

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

@param name ルート。

@param value 格納する値。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

@see Hash#[]=...

PStore#abort -> () (7.0)

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

...ますが、データベースの変更は反映されません。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
p db.roots # => []
ary =...
...db["root"] = [1,2,3,4]
db.abort
ary[0] = [1,1.5] # => ここは実行されない。
end

db.transaction do |pstore|
pstore
["root"] # => nil
end...

PStore#commit -> () (7.0)

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

...から抜け、データベースの変更が反映されます。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

require 'pstore'
db = PStore.new("/tmp/foo")
db.transaction do
p db.roots # => []
ary =...
...db["root"] = [1,2,3,4]
db.commit
ary[0] = [1,1.5] # => ここは実行されない。
end

db.transaction do |pstore|
pstore
["root"] # => [[1, 2, 3, 4]
end...

絞り込み条件を変える

PStore#delete(name) -> object (7.0)

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

...探索するルート。

@return 削除した値を返します。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

例:

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 |pstore|
pstore
.delete("root") # => [[1, 1.5], 2, 3, 4]
pstore
.delete("root") # => nil
end

@see Hash#delete...

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

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

...を返し、
与えられていなければ例外 PStore::Error が発生します。

@param name 探索するルート。

@param default name に対応するルートが登録されていない場合に返す値を指定する。

@raise PStore::Error name に対応するルートが登録され...
...

例:

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(true) do |pstore|
pstore
.fetch("root") # => [[1, 1.5], 2, 3, 4]
pstore
.fetch("root", 'aaa') # =>...
...[[1, 1.5], 2, 3, 4]
pstore.fetch("not_root") # => 例外発生
end

@see Hash#fetch, PStore#[]...

PStore#in_transaction -> () (7.0)

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

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

PStore#path -> String (7.0)

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

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

PStore#root?(name) -> bool (7.0)

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

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

@param name 探索するルート。

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

@see Hash#key?...

絞り込み条件を変える

PStore#roots -> Array (7.0)

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

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

@raise PStore::Error トランザクション外でこのメソッドが呼び出された場合に発生します。

@see Hash#keys...

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

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

...turn ブロックで最後に評価した値を返します。

@raise PStore::Error read_only を真にしたときに、データベースを変更しようした場合に発生します。

例:

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(true) do |pstore|
pstore
["root"] = 'aaa' # => ここで例外発生
end...

PStore#ultra_safe -> bool (7.0)

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

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

このフラグの効果があるのは一部のプラットフォームだけです。
(e.g. all POSIX platforms: Linux, Mac OS X, FreeBSD, etc)

PStore#ultra_safe=(flag) (7.0)

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

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

このフラグの効果があるのは一部のプラットフォームだけです。
(e.g. all POSIX platforms: Linux, Mac OS X, FreeBSD, etc)

@param flag 真偽値を指定します。

PStore.new(file, thread_safe = false) -> PStore (7.0)

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

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

データベースを更新するときにバックアップファイルが作成されるため、
file のあるディレクトリは書き込み可能である必要があります。
データベースの更新が成功すると、バックアップファイルは削除されます。バックアップファイル名は
ファイル名に ".tmp" および ".new" を付けたものです。

@param file データベースファイル名。

@param thread_safe 真を指定すると Mutex を用いてスレッドセーフになります。
デフォルトは偽です。

絞り込み条件を変える

PStore::DummyMutex (7.0)

ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。

ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。

PStore::DummyMutex#synchronize { ... } -> object (7.0)

与えられたブロックを評価するだけで何もしません。

与えられたブロックを評価するだけで何もしません。

PStore::EMPTY_MARSHAL_CHECKSUM -> String (7.0)

内部で利用する定数です。

内部で利用する定数です。

PStore::EMPTY_MARSHAL_DATA -> String (7.0)

内部で利用する定数です。

内部で利用する定数です。

PStore::EMPTY_STRING -> String (7.0)

内部で利用する定数です。

内部で利用する定数です。

絞り込み条件を変える

PStore::Error (7.0)

PStore の中で発生する例外です。

...PStore の中で発生する例外です。...

PStore::RDWR_ACCESS -> Integer (7.0)

内部で利用する定数です。

内部で利用する定数です。

PStore::RD_ACCESS -> Integer (7.0)

内部で利用する定数です。

内部で利用する定数です。

PStore::WR_ACCESS -> Integer (7.0)

内部で利用する定数です。

内部で利用する定数です。