diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-14 00:50:39 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-14 00:50:39 +0000 |
commit | 61ebfd3a3496d619b18895b4c1f29c8c5d7c291d (patch) | |
tree | dbf4e4b85760effee204e5a1b93337df34b78a6f /lib/yaml/store.rb | |
parent | 0b6da24a5e24ff9ce8e153d2f073c2363e94b28e (diff) |
* lib/yaml/dbm.rb: Add documentation. Patch by Justin Collins.
[Ruby 1.9 - Bug #4693]
* lib/yaml/store.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/yaml/store.rb')
-rw-r--r-- | lib/yaml/store.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/yaml/store.rb b/lib/yaml/store.rb index a7f8a5657d..82d6ee1aaa 100644 --- a/lib/yaml/store.rb +++ b/lib/yaml/store.rb @@ -4,7 +4,48 @@ require 'yaml' require 'pstore' +# YAML::Store provides the same functionality as PStore, except it uses YAML +# to dump objects instead of Marshal. +# +# == Example +# +# require 'yaml/store' +# +# Person = Struct.new :first_name, :last_name +# +# people = [Person.new("Bob", "Smith"), Person.new("Mary", "Johnson")] +# +# store = YAML::Store.new "test.store" +# +# store.transaction do +# store["people"] = people +# store["greeting"] = { "hello" => "world" } +# end +# +# After running the above code, the contents of "test.store" will be: +# +# --- +# people: +# - !ruby/struct:Person +# first_name: Bob +# last_name: Smith +# - !ruby/struct:Person +# first_name: Mary +# last_name: Johnson +# greeting: +# hello: world + class YAML::Store < PStore + + # :call-seq: + # initialize( file_name, yaml_opts = {} ) + # + # Creates a new YAML::Store object, which will store data in +file_name+. + # If the file does not already exist, it will be created. + # + # + # Options passed in through +yaml_opts+ will be used when converting the + # store to YAML via Hash#to_yaml(). def initialize( *o ) @opt = {} if String === o.first @@ -15,6 +56,8 @@ class YAML::Store < PStore end end + # :stopdoc: + def dump(table) @table.to_yaml(@opt) end |