Sha256: ae0f5ef1f40e98b1122c5b855ad663340c61c850d3efdbc8bea9ac48e4d4765f
Contents?: true
Size: 752 Bytes
Versions: 2
Compression:
Stored size: 752 Bytes
Contents
require 'active_support/time' module JSONBuilder class Value attr_accessor :value def initialize(scope, arg, &block) if block_given? @value = Compiler.new(:scope => scope) 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.3 | lib/json_builder/value.rb |
json_builder-3.0.2 | lib/json_builder/value.rb |