Results for: "module_function"

See as_json.

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

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

require 'json/add/bigdecimal'
x = BigDecimal(2).as_json             # => {"json_class"=>"BigDecimal", "b"=>"27:0.2e1"}
y = BigDecimal(2.0, 4).as_json        # => {"json_class"=>"BigDecimal", "b"=>"36:0.2e1"}
z = BigDecimal(Complex(2, 0)).as_json # => {"json_class"=>"BigDecimal", "b"=>"27:0.2e1"}

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

BigDecimal.json_create(x) # => 0.2e1
BigDecimal.json_create(y) # => 0.2e1
BigDecimal.json_create(z) # => 0.2e1

Returns a JSON string representing self:

require 'json/add/bigdecimal'
puts BigDecimal(2).to_json
puts BigDecimal(2.0, 4).to_json
puts BigDecimal(Complex(2, 0)).to_json

Output:

{"json_class":"BigDecimal","b":"27:0.2e1"}
{"json_class":"BigDecimal","b":"36:0.2e1"}
{"json_class":"BigDecimal","b":"27:0.2e1"}

See as_json.

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

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

require 'json/add/ostruct'
x = OpenStruct.new('name' => 'Rowdy', :age => nil).as_json
# => {"json_class"=>"OpenStruct", "t"=>{:name=>'Rowdy', :age=>nil}}

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

OpenStruct.json_create(x)
# => #<OpenStruct name='Rowdy', age=nil>

Returns a JSON string representing self:

require 'json/add/ostruct'
puts OpenStruct.new('name' => 'Rowdy', :age => nil).to_json

Output:

{"json_class":"OpenStruct","t":{'name':'Rowdy',"age":null}}

See as_json.

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

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

require 'json/add/range'
x = (1..4).as_json     # => {"json_class"=>"Range", "a"=>[1, 4, false]}
y = (1...4).as_json    # => {"json_class"=>"Range", "a"=>[1, 4, true]}
z = ('a'..'d').as_json # => {"json_class"=>"Range", "a"=>["a", "d", false]}

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

Range.json_create(x) # => 1..4
Range.json_create(y) # => 1...4
Range.json_create(z) # => "a".."d"

Returns a JSON string representing self:

require 'json/add/range'
puts (1..4).to_json
puts (1...4).to_json
puts ('a'..'d').to_json

Output:

{"json_class":"Range","a":[1,4,false]}
{"json_class":"Range","a":[1,4,true]}
{"json_class":"Range","a":["a","d",false]}

See as_json.

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

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

require 'json/add/rational'
x = Rational(2, 3).as_json
# => {"json_class"=>"Rational", "n"=>2, "d"=>3}

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

Rational.json_create(x)
# => (2/3)

Returns a JSON string representing self:

require 'json/add/rational'
puts Rational(2, 3).to_json

Output:

{"json_class":"Rational","n":2,"d":3}

See as_json.

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

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

require 'json/add/regexp'
x = /foo/.as_json
# => {"json_class"=>"Regexp", "o"=>0, "s"=>"foo"}

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

Regexp.json_create(x) # => /foo/

Returns a JSON string representing self:

require 'json/add/regexp'
puts /foo/.to_json

Output:

{"json_class":"Regexp","o":0,"s":"foo"}

Returns object if it is a regexp:

Regexp.try_convert(/re/) # => /re/

Otherwise if object responds to :to_regexp, calls object.to_regexp and returns the result.

Returns nil if object does not respond to :to_regexp.

Regexp.try_convert('re') # => nil

Raises an exception unless object.to_regexp returns a regexp.

Returns true if matching against re can be done in linear time to the input string.

Regexp.linear_time?(/re/) # => true

Note that this is a property of the ruby interpreter, not of the argument regular expression. Identical regexp can or cannot run in linear time depending on your ruby binary. Neither forward nor backward compatibility is guaranteed about the return value of this method. Our current algorithm is (*1) but this is subject to change in the future. Alternative implementations can also behave differently. They might always return false for everything.

(*1): doi.org/10.1109/SP40001.2021.00032

See as_json.

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"}>

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"]}

See as_json.

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

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

require 'json/add/struct'
Customer = Struct.new('Customer', :name, :address, :zip)
x = Struct::Customer.new.as_json
# => {"json_class"=>"Struct::Customer", "v"=>[nil, nil, nil]}

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

Struct::Customer.json_create(x)
# => #<struct Struct::Customer name=nil, address=nil, zip=nil>

Returns a JSON string representing self:

require 'json/add/struct'
Customer = Struct.new('Customer', :name, :address, :zip)
puts Struct::Customer.new.to_json

Output:

{"json_class":"Struct","t":{'name':'Rowdy',"age":null}}

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

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

require 'json/add/symbol'
x = :foo.as_json
# => {"json_class"=>"Symbol", "s"=>"foo"}

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

Symbol.json_create(x) # => :foo

Returns a JSON string representing self:

require 'json/add/symbol'
puts :foo.to_json

Output:

# {"json_class":"Symbol","s":"foo"}
Search took: 8ms  ·  Total Results: 5441