Class: ActiveSupport::JSON::Encoding::Encoder
- Defined in:
- activesupport/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) ⇒ 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.
40 41 42 43 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 40 def initialize( = nil) @options = @seen = [] end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options
38 39 40 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 38 def @options end |
Instance Method Details
#as_json(value) ⇒ Object
like encode, but only calls as_json, without encoding to string
53 54 55 56 57 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 53 def as_json(value) check_for_circular_references(value) do value.as_json((value)) end end |
#encode(value, use_options = true) ⇒ Object
45 46 47 48 49 50 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 45 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
68 69 70 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 68 def escape(string) Encoding.escape(string) end |
#options_for(value) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'activesupport/lib/active_support/json/encoding.rb', line 59 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 end end |