Module: Tree::Utils::JSONConverter

Included in:
TreeNode
Defined in:
lib/tree/utils/json_converter.rb

Overview

Provides utility methods to convert a TreeNode to and from JSON.

Defined Under Namespace

Modules: ClassMethods

Converting to/from JSON (collapse)

Instance Method Details

- (Object) as_json(options = {})

Creates a JSON ready Hash for the #to_json method.

Rails uses JSON in ActiveSupport, and all Rails JSON encoding goes through as_json.

Returns:

  • A hash based representation of the JSON

See Also:

Author:

Since:

  • 0.8.3



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/tree/utils/json_converter.rb', line 61

def as_json(options = {})

  json_hash = {
    "name"         => name,
    "content"      => content,
    JSON.create_id => self.class.name
  }

  if has_children?
    json_hash["children"] = children
  end

  return json_hash

end

- (Object) to_json(*a)

Creates a JSON representation of this node including all it's children. This requires the JSON gem to be available, or else the operation fails with a warning message. Uses the Hash output of #as_json method.

Returns:

  • The JSON representation of this subtree.

See Also:

Author:

Since:

  • 0.7.0



89
90
91
# File 'lib/tree/utils/json_converter.rb', line 89

def to_json(*a)
  as_json.to_json(*a)
end