Module: JSON::TruffleRuby::Generator::GeneratorMethods::Float
- Defined in:
- lib/json/truffle_ruby/generator.rb
Instance Method Summary collapse
-
#to_json(state = nil, *args) ⇒ Object
Returns a JSON string representation for this Float number.
Instance Method Details
#to_json(state = nil, *args) ⇒ Object
Returns a JSON string representation for this Float number.
630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 |
# File 'lib/json/truffle_ruby/generator.rb', line 630 def to_json(state = nil, *args) state = State.from_state(state) if infinite? || nan? if state.allow_nan? to_s elsif state.strict? && state.as_json casted_value = state.as_json.call(self, false) if casted_value.equal?(self) raise GeneratorError.new("#{self} not allowed in JSON", self) end state.check_max_nesting state.depth += 1 result = casted_value.to_json(state, *args) state.depth -= 1 result else raise GeneratorError.new("#{self} not allowed in JSON", self) end else to_s end end |