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.
634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 |
# File 'lib/json/truffle_ruby/generator.rb', line 634 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 |