Class: YAML::Store (Ruby 2.2.4)
Description: Class : YAML::Store - Ruby 2.2.4

- Home
- Core 2.2.4
- Std-lib 2.2.4
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- yaml/store.rb

### Parent

PStore

### Methods

- ::new

### Class/Module Index

Quicksearch

- Object
- YAML
- YAML::DBM
- YAML::Store

No matching classes.

# YAML::Store

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

### Public Class Methods

initialize( file_name, yaml_opts = {} ) click to toggle source

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().

                   # File yaml/store.rb, line 49
    def initialize file_name, yaml_opts = {}
      @opt = yaml_opts
      super
    end