Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

No need to override the to_yaml method in BigDecimal

  • Loading branch information...
commit d8ed247c7f11b1ca4756134e145d2ec3bfeb8eaf 1 parent 761b049
@rafaelfranca rafaelfranca authored
View
15 activesupport/lib/active_support/core_ext/big_decimal/conversions.rb
@@ -1,24 +1,9 @@
require 'bigdecimal'
-require 'psych'
require 'yaml'
class BigDecimal
- YAML_TAG = 'tag:yaml.org,2002:float'
YAML_MAPPING = { 'Infinity' => '.Inf', '-Infinity' => '-.Inf', 'NaN' => '.NaN' }
- # This emits the number without any scientific notation.
- # This is better than self.to_f.to_s since it doesn't lose precision.
- #
- # Note that reconstituting YAML floats to native floats may lose precision.
- def to_yaml(opts = {})
- return super if !YAML::ENGINE.syck?
-
- YAML.quick_emit(nil, opts) do |out|
- string = to_s
- out.scalar(YAML_TAG, YAML_MAPPING[string] || string, :plain)
- end
- end
-
def encode_with(coder)
string = to_s
coder.represent_scalar(nil, YAML_MAPPING[string] || string)
Please sign in to comment.
Something went wrong with that request. Please try again.