Sha256: 4154a28d011a2a469be3fee331324dfa1f8be3bcb37f6828e15d0b506603e871
Contents?: true
Size: 729 Bytes
Versions: 2
Compression:
Stored size: 729 Bytes
Contents
require 'active_support/time' module JSONBuilder class Value attr_accessor :value def initialize(arg, &block) if block_given? @value = Compiler.new compiled = @value.compile(*arg, &block) # For the use case that the passed in block returns a non-member object # or normal Ruby object @value = compiled unless compiled.is_a?(Member) else @value = arg end end def to_s case @value when String, TrueClass, FalseClass then @value.inspect when Hash then @value.to_json when NilClass then 'null' when Time, Date, DateTime then @value.iso8601.inspect else @value.to_s end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
json_builder-3.0.1 | lib/json_builder/value.rb |
json_builder-3.0.0 | lib/json_builder/value.rb |