class Set - json: Ruby Standard Library Documentation

# class Set

### Public Class Methods

json_create(object) click to toggle source

See `as_json`.

    # File json/lib/json/add/set.rb, line 9
    def self.json_create(object)
      new object['a']
    end

### Public Instance Methods

as_json(*) click to toggle source

Methods `Set#as_json` and `Set.json_create` may be used to serialize and deserialize a Set object; see Marshal.

Method `Set#as_json` serializes `self`, returning a 2-element hash representing `self`:

    require 'json/add/set'
    x = Set.new(%w/foo bar baz/).as_json
    # => {"json_class"=>"Set", "a"=>["foo", "bar", "baz"]}

Method `JSON.create` deserializes such a hash, returning a Set object:

    Set.json_create(x) # => #<Set: {"foo", "bar", "baz"}>

    # File json/lib/json/add/set.rb, line 28
    def as_json(*)
      {
        JSON.create_id => self.class.name,
        'a'            => to_a,
      }
    end

to_json(*args) click to toggle source

Returns a `JSON` string representing `self`:

    require 'json/add/set'
    puts Set.new(%w/foo bar baz/).to_json

Output:

    {"json_class":"Set","a":["foo","bar","baz"]}

    # File json/lib/json/add/set.rb, line 44
    def to_json(*args)
      as_json.to_json(*args)
    end