Class: ActiveSupport::JSON::Encoding::Encoder
- Defined in:
- lib/active_support/json/encoding.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#as_json(value, use_options = true) ⇒ Object
like encode, but only calls as_json, without encoding to string.
- #encode(value, use_options = true) ⇒ Object
- #escape(string) ⇒ Object
-
#initialize(options = nil) ⇒ Encoder
constructor
A new instance of Encoder.
- #options_for(value) ⇒ Object
Constructor Details
#initialize(options = nil) ⇒ Encoder
Returns a new instance of Encoder.
43 44 45 46 |
# File 'lib/active_support/json/encoding.rb', line 43 def initialize( = nil) @options = || {} @seen = Set.new end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
41 42 43 |
# File 'lib/active_support/json/encoding.rb', line 41 def @options end |
Instance Method Details
#as_json(value, use_options = true) ⇒ Object
like encode, but only calls as_json, without encoding to string.
56 57 58 59 60 |
# File 'lib/active_support/json/encoding.rb', line 56 def as_json(value, = true) check_for_circular_references(value) do ? value.as_json((value)) : value.as_json end end |
#encode(value, use_options = true) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/active_support/json/encoding.rb', line 48 def encode(value, = true) check_for_circular_references(value) do jsonified = ? value.as_json((value)) : value.as_json jsonified.encode_json(self) end end |
#escape(string) ⇒ Object
72 73 74 |
# File 'lib/active_support/json/encoding.rb', line 72 def escape(string) Encoding.escape(string) end |
#options_for(value) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/active_support/json/encoding.rb', line 62 def (value) if value.is_a?(Array) || value.is_a?(Hash) # hashes and arrays need to get encoder in the options, so that # they can detect circular references. .merge(:encoder => self) else .dup end end |