Method: Yajl::Encoder.encode
- Defined in:
- lib/yajl.rb
.encode(obj, *args, &block) ⇒ Object
A helper method for encode-and-forget use-cases
Examples:
Yajl::Encoder.encode(obj[, io, :pretty => true, :indent => "\t", &block])
output = Yajl::Encoder.encode(obj[, :pretty => true, :indent => "\t", &block])
obj is a ruby object to encode to JSON format
io is the optional IO stream to encode the ruby object to. If io isn’t passed, the resulting JSON string is returned. If io is passed, nil is returned.
The options hash allows you to set two encoding options - :pretty and :indent
:pretty accepts a boolean and will enable/disable “pretty printing” the resulting output
:indent accepts a string and will be used as the indent character(s) during the pretty print process
If a block is passed, it will be used as (and work the same as) the on_progress callback
53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/yajl.rb', line 53 def self.encode(obj, *args, &block) # TODO: this code smells, any ideas? = {} io = nil args.each do |arg| if arg.is_a?(Hash) = arg elsif arg.respond_to?(:read) io = arg end end if args.any? new().encode(obj, io, &block) end |