るりまサーチ (Ruby 2.3.0)

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

別のキーワード

  1. openssl new
  2. _builtin new
  3. rexml/document new
  4. resolv new
  5. socket new

クラス

キーワード

検索結果

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

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

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

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

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

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

PStore (25.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#abort -> () (25.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 -> () (25.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 (25.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 (25.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#transaction(read_only = false) {|pstore| ... } -> object (25.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...