Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 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 -> Integer
|
内部で利用する定数です。 |
|
RD_ACCESS -> Integer
|
内部で利用する定数です。 |
|
WR_ACCESS -> Integer
|
内部で利用する定数です。 |
!
!=
__id__
__send__
instance_eval
instance_exec
method_missing
singleton_method_added
singleton_method_removed
singleton_method_undefined
!~
<=>
==
===
=~
_dump
class
clone
define_singleton_method
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
itself
marshal_dump
marshal_load
method
methods
nil?
object_id
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
psych_to_yaml
public_method
public_methods
public_send
remove_instance_variable
respond_to?
respond_to_missing?
send
singleton_class
singleton_method
singleton_methods
taint
tainted?
tap
to_a
to_ary
to_hash
to_int
to_io
to_proc
to_regexp
to_s
to_str
trust
untaint
untrust
untrusted?
.yaml_tag
::ARGF
::ARGV
::DATA
::ENV
::FALSE
::NIL
::RUBY_COPYRIGHT
::RUBY_DESCRIPTION
::RUBY_ENGINE
::RUBY_ENGINE_VERSION
::RUBY_PATCHLEVEL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_REVISION
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING
::TRUE